package sounds;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

import util.AudioClipBalanced;
/** <p>An object implementing {@link java.applet.AudioClip java.applet.AudioClip} with the data from drum-16.wav hard-coded into it.</p>
 * <p>Created with the <a href="http://stephengware.com/projects/soundtoclass">SoundToClass tool</a>, by Stephen G. Ware.</p>
 * @author Stephen G. Ware */
public class Drum16 implements AudioClipBalanced {
	private byte[] data;
	private AudioFormat format;
	private DataLine.Info lineInfo = null;
	private PlayThread playThread = null;
	private LoopThread loopThread = null;
	private static final long serialVersionUID = 22040;
	private static byte[] data0(){ return new byte[] {-1,-1,-67,20,124,40,-95,58,-11,73,82,86,-20,94,-30,99,0,101,-83,98,52,93,71,85,123,75,-98,64,107,53,-115,42,-83,32,47,24,123,17,-114,12,-111,9,45,8,-27,7,-120,8,66,9,-32,9,122,9,16,8,-38,4,27,0,103,-7,55,-15,-115,-25,30,-35,48,-46,-99,-57,-48,-67,-118,-75,64,-81,102,-85,72,-86,2,-84,-123,-80,-82,-73,-5,-64,32,-52,75,-40,27,-27,-94,-15,-105,-3,31,8,40,17,25,24,42,29,24,32,99,33,26,33,-19,31,31,30,81,28,29,27,-63,26,-83,27,-2,29,-54,33,-22,38,25,45,-6,51,-15,58,-116,65,0,71,-22,74,-119,76,-88,75,-59,71,-9,64,19,55,-109,42,-58,27,8,11,90,-7,50,-25,-99,-43,30,-59,-84,-74,-97,-86,-88,-95,-25,-101,-107,-103,-100,-102,-72,-98,-106,-91,-92,-82,97,-71,15,-59,50,-47,3,-35,21,-24,40,-14,-91,-6,-63,1,37,7,63,11,2,14,4,16,88,17,-84,18,11,20,15,22,-90,24,56,28,-122,32,-86,37,80,43,55,49,9,55,75,60,-78,64,-54,67,58,69,-34,68,104,66,6,62,-106,55,-121,47,-15,37,108,27,54,16,-5,4,-1,-7,-28,-17,-52,-26,70,-33,40,-39,-24,-44,51,-46,-32,-48,-32,-48,-72,-47,66,-45,-3,-44,-74,-42,16,-40,-25,-40,12,-39,-118,-40,100,-41,-52,-43,12,-44,82,-46,46,-47,-77,-48,-117,-47,-88,-45,112,-41,43,-35,-119,-28,-51,-19,96,-8,93,4,-15,16,16,30,-35,42,28,55,29,66,-114,75,-6,82,31,88,-46,90,-7,90,-85,88,-1,83,80,77,-35,68,5,59,72,48,-20,36,-107,25,84,14,-45,3,-14,-7,65,-15,114,-23,-9,-30,94,-35,-10,-40,65,-43,117,-46,22,-48,87,-50,-49,-52,-85,-53,-67,-54,4,-54,-100,-55,-112,-55,-5,-55,-6,-54,-90,-52,28,-49,99,-46,-98,-42,-98,-37,-103,-31,38,-24,123,-17,22,-9,25,-1,-6,6,-41,14,40,22,-25,28,19,35,63,40,-96,44,-23,47,89,50,-61,51,107,52,66,52,-127,51,54,50,-128,48,-126,46,58,44,-43,41,49,39,127,36,125,33,100,30,-37,26,26,23,-8,18,40,14,14,9,61,3,32,-3,102,-10,125,-17,50,-24,-12,-32,-84,-39,-57,-46,59,-52,113,-58,107,-63,120,-67,-89,-70,32,-71,1,-71,63,-70,-17,-68,21,-63,127,-58,67,-51,-5,-44,-45,-35,53,-25,86,-15,-107,-5,23,6,74,16,64,26,124,35,10,44,-128,51,-17,57,-1,62,-49,66,35,69,14,70,-90,69,-38,67,-37,64,-64,60,-90,55,-39,49,88,43,-115,36,106,29,94,22,76,15,-96,8,37,2,70,-4,-77,-10,-54,-15,52,-19,49,-23,-101,-27,43,-30,44,-33,68,-36,-88,-39,31,-41,-38,-44,-77,-46,-30,-48,91,-49,69,-50,-65,-51,-51,-51,-86,-50,71,-48,-40,-46,60,-42,-99,-38,-65,-33,-100,-27,73,-20,67,-13,-66,-6,37,2,-90,9,-72,16,120,23,-124,29,-11,34,127,39,84,43,61,46,111,48,-32,49,-77,50,2,51,-43,50,95,50,-108,49,-124,48,62,47,-106,45,-85,43,46,41,65,38,-128,34,26,30,-86,24,118,18,31,11,22,3,12,-6,-103,-16,-108,-26,-101,-36,-68,-46,-115,-55,71,-63,61,-70,-47,-76,64,-79,-78,-81,88,-80,20,-77,-8,-73,-85,-66,21,-57,-71,-48,90,-37,98,-26,-109,-15,79,-4,113,6,105,15,61,23,127,29,71,34,-67,37,-64,39,-74,40,-84,40,19,40,8,39,-4,37,-1,36,98,36,46,36,110,36,42,37,40,38,91,39,101,40,50,41,70,41,-92,40,-18,38,-32,35,-84,31,-3,25,65,19,76,11,-81,2,104,-7,31,-16,-26,-26,97,-34,-82,-42,66,-48,54,-53,-56,-57,-13,-59,-69,-59,-11,-58,122,-55,-14,-52,53,-47,-57,-43,-113,-38,20,-33,89,-29,-8,-26,47,-22,-86,-20,-36,-18,-100,-16,113,-14,78,-12,-61,-10,-64,-7,-57,-3,-79,2,-46,8,-35,15,-42,23,-114,32,-111,41,-106,50,22,59,-80,66,-28,72,78,77,-92,79,-115,79,13,77,-5,71,-95,64,21,55,-34,43,72,31,0,18,109,4,75,-9,15,-21,3,-32,-52,-42,115,-49,83,-54,60,-57,70,-58,6,-57,99,-55,-53,-52,2,-47,125,-43,-19,-39,-9,-35,86,-31,-21,-29,-105,-27,122,-26,-94,-26,101,-26,-23,-27,-110,-27,-48,-27,-59,-26,-38,-24,26,-20,-56,-16,-85,-10,-23,-3,1,6,-11,14,23,24,67,33,-48,41,-127,49,-46,55,-116,60,104,63,82,64,67,63,97,60,-46,55,-5,49,18,43,-80,35,2,28,-83,20,-62,13,-51,7,-76,2,-45,-2,-35,-5,-8,-7,-86,-8,-8,-9,69,-9,-118,-10,51,-11,63,-13,92,-16,95,-20,112,-25,-107,-31,13,-37,48,-44,80,-51,-15,-58,114,-63,84,-67,-18,-70,-93,-70}; }
	private static byte[] data1(){ return new byte[] {-114,-68,-14,-64,-112,-57,-126,-48,46,-37,-127,-25,-85,-12,72,2,-17,15,-72,28,123,40,100,50,122,58,31,64,-102,67,-105,68,-121,67,118,64,-34,59,29,54,-99,47,-32,40,56,34,25,28,-85,22,50,18,-58,14,36,12,126,10,77,9,-108,8,-54,7,-39,6,64,5,0,3,-76,-1,-126,-5,56,-10,42,-16,86,-23,61,-30,-3,-38,45,-44,1,-50,-10,-56,75,-59,64,-61,-6,-62,-104,-60,-14,-57,3,-51,107,-45,-6,-38,52,-29,-46,-21,78,-12,112,-4,-67,3,34,10,72,15,80,19,11,22,-43,23,-99,24,-53,24,-71,24,-123,24,-99,24,27,25,67,26,27,28,-85,30,-32,33,-128,37,90,41,16,45,84,48,-59,50,17,52,-31,51,15,50,89,46,-34,40,-100,33,-96,24,98,14,26,3,86,-9,108,-21,-2,-33,90,-43,22,-52,105,-60,-74,-66,17,-69,-100,-71,59,-70,-41,-68,39,-63,-34,-58,-88,-51,18,-43,-61,-36,122,-28,-73,-21,120,-14,87,-8,118,-3,-94,1,27,5,-45,7,43,10,27,12,23,14,12,16,104,18,2,21,34,24,-110,27,101,31,85,35,67,39,-5,42,50,46,-81,48,57,50,-98,50,-59,49,-116,47,14,44,65,39,105,33,-100,26,60,19,103,11,-94,3,-15,-5,-27,-12,111,-18,-6,-24,-119,-28,0,-31,-102,-34,14,-35,96,-36,76,-36,-81,-36,82,-35,5,-34,-88,-34,16,-33,68,-33,35,-33,-35,-34,103,-34,15,-34,-43,-35,34,-34,-22,-34,-99,-32,34,-29,-83,-26,120,-21,45,-15,9,-8,-109,-1,-25,7,116,16,55,25,-93,33,-106,41,-99,48,-107,54,36,59,61,62,-81,63,-128,63,-71,61,111,58,-44,53,35,48,118,41,68,34,-108,26,-19,18,56,11,-1,3,18,-3,-32,-10,52,-15,78,-20,-4,-25,96,-28,65,-31,-73,-34,-127,-36,-62,-38,62,-39,15,-40,44,-41,122,-42,47,-42,51,-42,-86,-42,-95,-41,27,-39,59,-37,-19,-35,78,-31,63,-27,-42,-23,-47,-18,82,-12,-7,-7,-27,-1,-77,5,122,11,-33,16,-41,21,114,26,84,30,-81,33,65,36,62,38,125,39,46,40,64,40,-34,39,1,39,-49,37,71,36,124,34,125,32,61,30,-40,27,43,25,90,22,79,19,-34,15,69,12,58,8,4,4,103,-1,-98,-6,-114,-11,111,-16,42,-21,20,-26,4,-31,96,-36,10,-40,83,-44,53,-47,-33,-50,98,-51,-61,-52,34,-51,118,-50,-59,-48,10,-44,41,-40,40,-35,-52,-30,33,-23,-43,-17,-5,-10,49,-2,-114,5,-87,12,-95,19,4,26,5,32,45,37,-74,41,68,45,-19,47,-77,49,114,50,73,50,47,49,59,47,-123,44,22,41,38,37,-87,32,-8,27,-24,22,-21,17,-60,12,-33,7,1,3,126,-2,34,-6,45,-10,-125,-14,7,-17,-20,-21,-11,-24,88,-26,-45,-29,-96,-31,-117,-33,-64,-35,41,-36,-27,-38,-14,-39,104,-39,86,-39,-65,-39,-52,-38,95,-36,-83,-34,-122,-31,-2,-28,32,-23,-86,-19,-71,-14,-8,-9,-121,-3,-1,2,-125,8,-77,13,-86,18,25,23,31,27,-127,30,93,33,-108,35,65,37,94,38,2,39,53,39,6,39,-125,38,-74,37,-101,36,72,35,-105,33,-85,31,71,29,-111,26,71,23,-114,19,44,15,82,10,-54,4,-32,-2,105,-8,-60,-15,-33,-22,32,-28,-97,-35,-124,-41,48,-46,-77,-51,92,-54,63,-56,123,-57,41,-56,49,-54,-97,-51,56,-46,-19,-41,106,-34,-115,-27,-10,-20,-128,-12,-56,-5,-74,2,-11,8,101,14,37,19,-44,22,-54,25,-56,27,45,29,-31,29,61,30,58,30,42,30,4,30,4,30,28,30,100,30,-60,30,54,31,-106,31,-65,31,-97,31,-19,30,-74,29,-64,27,-28,24,80,21,-56,16,-87,11,-59,5,-112,-1,-4,-8,125,-14,26,-20,65,-26,-10,-32,-107,-36,25,-39,-70,-42,94,-43,35,-43,-53,-43,100,-41,-103,-39,98,-36,116,-33,-73,-30,-19,-27,16,-23,-27,-21,-110,-18,-30,-16,24,-13,30,-11,53,-9,105,-7,-18,-5,-43,-2,71,2,69,6,-36,10,-7,15,116,21,87,27,50,33,-18,38,50,44,-70,48,78,52,-96,54,-111,55,-16,54,-64,52,-20,48,-79,43,14,37,115,29,-13,20,31,12,14,3,89,-6,50,-14,-59,-22,-125,-28,101,-33,-86,-37,46,-39,12,-40,-14,-41,-26,-40,-126,-38,-86,-36,19,-33,-125,-31,-43,-29,-46,-27,127,-25,-77,-24,-97,-23,44,-22,-102,-22,26,-21,-66,-21,-37,-20,107,-18,-53,-16,-50,-13,-60,-9,96,-4,-54,1,-99,7,-24,13,39,20,93,26,5,32,16,37,35,41,37,44,-25,45,93,46,-105,45,-108,43,-120,40,-106,36,-4,31,1,27,-48,21,-57,16,-20,11,-91,7,-59,3,-86,0,-3,-3,-1,-5,68,-6,-17,-8,-112,-9,56,-10,-100,-12,-122,-14,13,-16,-6,-20,-126,-23,-121,-27,104,-31}; }
	private static byte[] data2(){ return new byte[] {28,-35,26,-39,115,-43,-117,-46,-102,-48,-48,-49,110,-48,116,-46,9,-42,1,-37,99,-31,-49,-24,26,-15,13,-6,31,3,39,12,-103,20,88,28,-25,34,74,40,37,44,-100,46,-119,47,35,47,-127,45,-33,42,125,39,-102,35,122,31,91,27,112,23,-20,19,-58,16,53,14,5,12,84,10,-53,8,-124,7,14,6,-121,4,-123,2,37,0,34,-3,-92,-7,-121,-11,18,-15,57,-20,92,-25,-125,-30,22,-34,50,-38,20,-41,-16,-44,-25,-45,11,-44,107,-43,-17,-41,-119,-37,4,-32,58,-27,-30,-22,-52,-16,-90,-10,79,-4,117,1,29,6,-7,9,52,13,-96,15,98,17,-76,18,-117,19,49,20,-72,20,88,21,35,22,58,23,-93,24,82,26,76,28,91,30,106,32,66,34,-83,35,121,36,124,36,120,35,116,33,48,30,-30,25,125,20,10,14,-18,6,48,-1,74,-9,85,-17,-48,-25,-48,-32,-49,-38,-55,-43,34,-46,-71,-49,-50,-50,37,-49,-53,-48,-121,-45,38,-41,-121,-37,74,-32,84,-27,101,-22,76,-17,-23,-13,26,-8,-32,-5,35,-1,11,2,-127,4,-51,6,-41,8,-17,10,-6,12,59,15,-113,17,44,20,-47,22,-87,25,100,28,9,31,105,33,87,35,-71,36,100,37,67,37,73,36,96,34,-94,31,8,28,-61,23,-34,18,-95,13,19,8,-103,2,36,-3,32,-8,114,-13,112,-17,18,-20,67,-23,56,-25,-78,-27,-50,-28,72,-28,45,-28,57,-28,124,-28,-73,-28,-1,-28,44,-27,89,-27,124,-27,-83,-27,0,-26,-118,-26,117,-25,-61,-24,-105,-22,32,-19,59,-16,22,-12,127,-8,-116,-3,-4,2,-49,8,-76,14,-97,20,58,26,119,31,2,36,-47,39,-86,42,-124,44,76,45,-4,44,-95,43,81,41,20,38,40,34,-105,29,-95,24,99,19,11,14,-68,8,-104,3,-77,-2,47,-6,-5,-11,73,-14,-25,-18,8,-20,108,-23,71,-25,86,-27,-53,-29,122,-30,96,-31,-102,-32,9,-32,-44,-33,-23,-33,96,-32,65,-31,-121,-30,80,-28,124,-26,52,-23,69,-20,-49,-17,-100,-13,-65,-9,-4,-5,104,0,-76,4,-23,8,-3,12,-76,16,36,20,23,23,-95,25,-88,27,55,29,70,30,-27,30,12,31,-41,30,64,30,88,29,47,28,-73,26,24,25,46,23,38,21,-23,18,107,16,-54,13,-27,10,-37,7,-109,4,40,1,-118,-3,-40,-7,4,-10,55,-14,106,-18,-61,-22,67,-25,19,-28,50,-31,-53,-34,-39,-36,126,-37,-71,-38,-93,-38,46,-37,114,-36,87,-34,-23,-32,14,-28,-57,-25,-21,-21,-117,-16,90,-11,-128,-6,-96,-1,-36,4,-23,9,-51,14,94,19,-115,23,66,27,98,30,-2,32,-19,34,53,36,-42,36,-58,36,24,36,-53,34,-13,32,-102,30,-39,27,-72,24,91,21,-60,17,22,14,90,10,-91,6,-3,2,127,-1,43,-4,-17,-8,-12,-11,27,-13,-125,-16,18,-18,-38,-21,-47,-23,-5,-25,91,-26,-9,-28,-51,-29,-16,-30,96,-30,35,-30,86,-30,-36,-30,-19,-29,89,-27,84,-25,-87,-23,117,-20,-84,-17,53,-13,8,-9,1,-5,39,-1,58,3,81,7,40,11,-46,14,29,18,27,21,-96,23,-58,25,113,27,-71,28,-113,29,9,30,37,30,-16,29,114,29,-82,28,-93,27,102,26,-47,24,18,23,-19,20,-110,18,-53,15,-69,12,66,9,122,5,86,1,-16,-4,79,-8,-112,-13,-51,-18,37,-22,-54,-27,-76,-31,59,-34,86,-37,66,-39,2,-40,-87,-41,74,-40,-54,-39,63,-36,108,-33,95,-29,-51,-25,-81,-20,-65,-15,-15,-10,-11,-5,-42,0,62,5,53,9,-65,12,-92,15,20,18,-23,19,94,21,88,22,25,23,-118,23,-22,23,31,24,99,24,-115,24,-55,24,-17,24,5,25,-5,24,-84,24,35,24,48,23,-60,21,-35,19,97,17,107,14,-30,10,-10,6,-101,2,21,-2,95,-7,-56,-12,74,-16,55,-20,-123,-24,125,-27,9,-29,93,-31,91,-32,29,-32,127,-32,126,-31,-17,-30,-47,-28,-22,-26,58,-23,-116,-21,-24,-19,38,-16,91,-14,100,-12,114,-10,97,-8,118,-6,-118,-4,-23,-2,107,1,79,4,105,7,-45,10,-117,14,101,18,92,22,54,26,-30,29,36,33,-37,35,-32,37,7,39,67,39,113,38,-94,36,-64,33,-1,29,89,25,26,20,77,14,76,8,64,2,68,-4,-69,-10,-95,-15,73,-19,-94,-23,-35,-26,-30,-28,-69,-29,68,-29,118,-29,27,-28,37,-27,99,-26,-69,-25,16,-23,79,-22,109,-21,98,-20,50,-19,-2,-19,-69,-18,-95,-17,-83,-16,16,-14,-53,-13,4,-10,-84,-8,-30,-5,117,-1,127,3,-72,7,42,12,-126,16,-67,20,-116,24,-25,27,-110,30,123,32,-101,33,-38,33,63,33,-34,31,-66,29,23,27,-23,23,-120,20,-25,16,99,13,-24,9,-65,6,-53,3,68,1,-6,-2,20,-3,84,-5,-48,-7,92,-8,-55,-10}; }
	private static byte[] data3(){ return new byte[] {50,-11,80,-13,79,-15,-2,-18,-124,-20,-29,-23,50,-25,-101,-28,58,-30,60,-32,-56,-34,5,-34,7,-34,-1,-34,-42,-32,-74,-29,106,-25,4,-20,56,-15,-13,-10,15,-3,49,3,70,9,-14,14,36,20,-106,24,61,28,-16,30,-66,32,-115,33,-116,33,-79,32,63,31,57,29,-26,26,83,24,-75,21,36,19,-64,16,124,14,-120,12,-79,10,30,9,-112,7,24,6,-127,4,-50,2,-42,0,-94,-2,14,-4,64,-7,21,-10,-48,-14,90,-17,-1,-21,-71,-24,-47,-27,84,-29,104,-31,42,-32,-79,-33,-2,-33,36,-31,0,-29,-95,-27,-58,-24,116,-20,98,-16,-119,-12,-94,-8,-85,-4,97,0,-49,3,-63,6,85,9,100,11,16,13,111,14,126,15,102,16,47,17,-6,17,-52,18,-70,19,-66,20,-35,21,5,23,37,24,44,25,-17,25,99,26,87,26,-63,25,127,24,-113,22,-19,19,-128,16,122,12,-38,7,-46,2,121,-3,20,-8,-77,-14,-85,-19,-1,-24,6,-27,-77,-31,71,-33,-81,-35,6,-35,60,-35,66,-34,3,-32,92,-30,47,-27,89,-24,-77,-21,36,-17,126,-14,-54,-11,-55,-8,-85,-5,50,-2,-99,0,-69,2,-47,4,-77,6,-88,8,-125,10,-126,12,121,14,-115,16,-102,18,-96,20,-106,22,93,24,-34,25,10,27,-65,27,-9,27,-106,27,-89,26,13,25,-17,22,50,20,16,17,-127,13,-73,9,-65,5,-52,1,-30,-3,61,-6,-26,-10,-46,-13,68,-15,10,-17,88,-19,-3,-21,18,-21,108,-22,23,-22,-19,-23,-18,-23,12,-22,51,-22,118,-22,-72,-22,31,-21,-111,-21,58,-20,13,-19,32,-18,-99,-17,95,-15,-94,-13,52,-10,74,-7,-94,-4,105,0,81,4,116,8,-115,12,-104,16,101,20,-34,23,-37,26,82,29,29,31,62,32,-93,32,76,32,72,31,-104,29,81,27,-111,24,93,21,-20,17,59,14,123,10,-76,6,5,3,123,-1,32,-4,4,-7,41,-10,-114,-13,64,-15,42,-17,94,-19,-44,-21,116,-22,90,-23,115,-24,-51,-25,98,-25,60,-25,97,-25,-50,-25,-107,-24,-88,-23,33,-21,-30,-20,8,-17,109,-15,38,-12,16,-9,50,-6,98,-3,-94,0,-24,3,16,7,25,10,-27,12,120,15,-76,17,-91,19,52,21,110,22,73,23,-52,23,-6,23,-43,23,106,23,-73,22,-53,21,-98,20,69,19,-76,17,-4,15,34,14,5,12,-37,9,113,7,-4,4,83,2,-98,-1,-52,-4,-13,-7,16,-9,66,-12,115,-15,-31,-18,96,-20,53,-22,68,-24,-80,-26,127,-27,-75,-28,95,-28,-121,-28,27,-27,60,-26,-62,-25,-54,-23,45,-20,-6,-18,13,-14,113,-11,-9,-8,-81,-4,101,0,41,4,-56,7,77,11,-115,14,-109,17,53,20,121,22,88,24,-61,25,-74,26,49,27,49,27,-62,26,-37,25,-102,24,-21,22,-3,20,-70,18,79,16,-86,13,-6,10,41,8,98,5,-106,2,-33,-1,75,-3,-75,-6,90,-8,8,-10,-12,-13,-14,-15,45,-16,-125,-18,21,-19,-54,-21,-60,-22,-25,-23,87,-23,1,-23,-6,-24,64,-23,-41,-23,-56,-22,12,-20,-98,-19,-107,-17,-56,-15,82,-12,4,-9,-9,-7,-14,-4,22,0,31,3,47,6,9,9,-58,11,56,14,117,16,86,18,-9,19,52,21,45,22,-52,22,30,23,49,23,-11,22,-128,22,-45,21,-32,20,-58,19,101,18,-39,16,13,15,10,13,-61,10,79,8,-114,5,-86,2,-124,-1,70,-4,-25,-8,-125,-11,54,-14,-16,-18,-14,-21,55,-23,-29,-26,8,-27,-76,-29,-7,-30,-38,-30,100,-29,-124,-28,70,-26,-122,-24,71,-21,94,-18,-59,-15,76,-11,-16,-8,122,-4,-31,-1,39,3,16,6,-64,8,-1,10,1,13,-109,14,-14,15,-17,16,-53,17,103,18,-29,18,70,19,-118,19,-62,19,-31,19,-26,19,-52,19,-121,19,23,19,84,18,87,17,-11,15,73,14,49,12,-49,9,12,7,17,4,-45,0,-124,-3,26,-6,-47,-10,-97,-13,-67,-16,34,-18,-3,-21,65,-22,9,-23,84,-24,18,-24,77,-24,-18,-24,-19,-23,50,-21,-77,-20,90,-18,21,-16,-27,-15,-87,-13,122,-11,55,-9,0,-7,-64,-6,-102,-4,118,-2,-128,0,-99,2,-34,4,89,7,-30,9,-103,12,72,15,-3,17,-116,20,-27,22,-16,24,-115,26,-89,27,48,28,13,28,66,27,-57,25,-95,23,-26,20,-102,17,-18,13,-24,9,-60,5,-102,1,119,-3,-94,-7,15,-10,-2,-14,82,-16,66,-18,-90,-20,-99,-21,1,-21,-41,-22,-1,-22,109,-21,12,-20,-56,-20,-111,-19,98,-18,45,-17,-13,-17,-76,-16,-125,-15,93,-14,95,-13,-128,-12,-23,-11,-120,-9,127,-7,-76,-5,68,-2,3,1,8,4,27,7,71,10,82,13,63,16,-38,18,27,21,-30,22,37,24,-43,24,-7,24,-128,24,-121,23,13,22,50,20,-1,17,-100,15,15,13,-119,10,-5,7,-96,5,84,3}; }
	private static byte[] data4(){ return new byte[] {80,1,96,-1,-73,-3,21,-4,-90,-6,62,-7,-54,-9,86,-10,-54,-12,43,-13,119,-15,-75,-17,-15,-19,59,-20,-93,-22,75,-23,57,-24,-104,-25,112,-25,-48,-25,-41,-24,107,-22,-82,-20,115,-17,-69,-14,124,-10,126,-6,-72,-2,-15,2,26,7,-8,10,-117,14,-109,17,40,20,13,22,106,23,26,24,70,24,-32,23,20,23,-30,21,117,20,-45,18,36,17,98,15,-77,13,12,12,126,10,2,9,-107,7,37,6,-65,4,51,3,-96,1,-42,-1,-16,-3,-46,-5,-102,-7,49,-9,-54,-12,78,-14,-8,-17,-59,-19,-51,-21,56,-22,1,-23,82,-24,32,-24,126,-24,103,-23,-46,-22,-72,-20,-3,-18,-101,-15,102,-12,91,-9,75,-6,53,-3,-18,-1,125,2,-60,4,-69,6,-118,8,-8,9,70,11,78,12,63,13,17,14,-44,14,-107,15,76,16,9,17,-65,17,103,18,-5,18,103,19,-102,19,-116,19,30,19,82,18,28,17,94,15,55,13,-106,10,-109,7,57,4,-93,0,-25,-4,39,-7,124,-11,9,-14,-26,-18,51,-20,-10,-23,86,-24,59,-25,-57,-26,-29,-26,-122,-25,-82,-24,54,-22,25,-20,59,-18,-126,-16,-26,-14,66,-11,-94,-9,-35,-7,13,-4,15,-2,2,0,-49,1,-110,3,61,5,-20,6,-122,8,52,10,-57,11,103,13,-10,14,119,16,-43,17,8,19,-4,19,-82,20,1,21,-2,20,-119,20,-80,19,104,18,-69,16,-81,14,89,12,-73,9,-5,6,15,4,54,1,104,-2,-86,-5,51,-7,-29,-10,-21,-12,49,-13,-55,-15,-88,-16,-51,-17,46,-17,-56,-18,-117,-18,120,-18,-126,-18,-88,-18,-24,-18,62,-17,-76,-17,70,-16,4,-15,-20,-15,1,-13,104,-12,-12,-11,-28,-9,-11,-7,100,-4,-15,-2,-69,1,-104,4,-119,7,107,10,59,13,-48,15,44,18,40,20,-59,21,-20,22,-103,23,-55,23,120,23,-79,22,116,21,-44,19,-36,17,-105,15,37,13,-128,10,-44,7,23,5,106,2,-53,-1,82,-3,-17,-6,-55,-8,-68,-10,-18,-12,69,-13,-49,-15,-109,-16,114,-17,-111,-18,-43,-19,86,-19,6,-19,-12,-20,25,-19,-127,-19,39,-18,19,-17,62,-16,-84,-15,89,-13,58,-11,83,-9,-112,-7,-19,-5,95,-2,-56,0,73,3,-99,5,-17,7,0,10,-6,11,-91,13,34,15,85,16,69,17,-9,17,87,18,-121,18,102,18,25,18,-120,17,-51,16,-39,15,-65,14,-126,13,12,12,-119,10,-54,8,7,7,17,5,25,3,-6,0,-36,-2,-88,-4,126,-6,78,-8,55,-10,45,-12,74,-14,-115,-16,6,-17,-75,-19,-79,-20,-19,-21,-123,-21,101,-21,-90,-21,59,-20,38,-19,104,-18,-6,-17,-51,-15,-16,-13,54,-10,-66,-8,84,-5,16,-2,-58,0,-124,3,35,6,-75,8,10,11,53,13,37,15,-52,16,41,18,49,19,-25,19,68,20,75,20,-4,19,97,19,114,18,72,17,-41,15,56,14,107,12,121,10,115,8,86,6,55,4,32,2,-7,-1,-11,-3,-20,-5,15,-6,56,-8,-114,-10,-12,-12,-114,-13,58,-14,34,-15,33,-16,94,-17,-62,-18,95,-18,56,-18,66,-18,-102,-18,33,-17,-13,-17,5,-15,84,-14,-30,-13,-91,-11,-103,-9,-78,-7,-17,-5,56,-2,-110,0,-34,2,41,5,73,7,92,9,42,11,-36,12,66,14,121,15,109,16,26,17,-101,17,-51,17,-44,17,-98,17,47,17,-102,16,-58,15,-43,14,-88,13,92,12,-41,10,55,9,90,7,110,5,61,3,16,1,-93,-2,69,-4,-47,-7,89,-9,-2,-12,-80,-14,-92,-16,-66,-18,57,-19,-8,-21,35,-21,-72,-22,-79,-22,41,-21,0,-20,70,-19,-26,-18,-38,-16,9,-13,118,-11,-15,-9,-111,-6,20,-3,-110,-1,-13,1,38,4,43,6,-10,7,-118,9,-27,10,10,12,-1,12,-58,13,103,14,-27,14,70,15,-117,15,-72,15,-62,15,-72,15,-127,15,42,15,-90,14,-30,13,-12,12,-72,11,80,10,-108,8,-74,6,-119,4,77,2,-34,-1,106,-3,-14,-6,-117,-8,66,-10,51,-12,82,-14,-49,-16,-119,-17,-82,-18,31,-18,-13,-19,12,-18,127,-18,42,-17,20,-16,41,-15,99,-14,-80,-13,25,-11,127,-10,-6,-9,107,-7,-17,-6,110,-4,2,-2,-103,-1,72,1,1,3,-52,4,-79,6,-103,8,-113,10,115,12,83,14,1,16,-113,17,-50,18,-58,19,93,20,-122,20,74,20,-122,19,100,18,-68,16,-61,14,98,12,-55,9,-3,6,11,4,32,1,56,-2,-124,-5,-8,-8,-66,-10,-52,-12,53,-13,-16,-15,10,-15,107,-16,31,-16,6,-16,45,-16,112,-16,-36,-16,88,-15,-31,-15,124,-14,27,-13,-50,-13,-116,-12,101,-11,89,-10,113,-9,-73,-8,35,-6,-53,-5,-106,-3,-102,-1,-77,1,-9,3,52,6,-128,8,-91,10,-76,12,126,14,5,16,58,17,19,18,-125,18,-109,18,55,18,-124,17,118,16,40,15}; }
	private static byte[] data5(){ return new byte[] {-108,13,-28,11,9,10,50,8,78,6,-128,4,-67,2,27,1,-124,-1,29,-2,-69,-4,112,-5,43,-6,-22,-8,-79,-9,111,-10,46,-11,-19,-13,-83,-14,-126,-15,100,-16,116,-17,-82,-18,47,-18,-8,-19,28,-18,-94,-18,-112,-17,-27,-16,-101,-14,-71,-12,32,-9,-47,-7,-86,-4,-98,-1,-106,2,116,5,45,8,-94,10,-54,12,-105,14,-1,15,0,17,-104,17,-48,17,-84,17,59,17,-119,16,-96,15,-107,14,111,13,56,12,1,11,-67,9,-116,8,72,7,26,6,-48,4,-107,3,50,2,-44,0,74,-1,-71,-3,6,-4,73,-6,121,-8,-80,-10,-15,-12,66,-13,-62,-15,112,-16,103,-17,-88,-18,70,-18,60,-18,-102,-18,80,-17,102,-16,-52,-15,112,-13,89,-11,90,-9,-128,-7,-93,-5,-60,-3,-51,-1,-83,1,125,3,12,5,-127,6,-68,7,-40,8,-53,9,-90,10,96,11,19,12,-86,12,62,13,-66,13,47,14,-118,14,-54,14,-29,14,-51,14,-126,14,-16,13,31,13,4,12,-116,10,-37,8,-52,6,-106,4,28,2,-116,-1,-27,-4,69,-6,-78,-9,90,-11,37,-13,88,-15,-60,-17,-85,-18,-26,-19,-109,-19,-97,-19,10,-18,-53,-18,-42,-17,28,-15,-107,-14,44,-12,-37,-11,-109,-9,78,-7,-2,-6,-84,-4,64,-2,-45,-1,80,1,-61,2,47,4,-114,5,-21,6,63,8,-118,9,-62,10,-10,11,10,13,0,14,-48,14,108,15,-49,15,-14,15,-53,15,91,15,-96,14,-104,13,75,12,-65,10,-7,8,12,7,1,5,-33,2,-60,0,-77,-2,-85,-4,-47,-6,20,-7,-113,-9,54,-10,23,-11,38,-12,111,-13,-34,-14,-127,-14,66,-14,42,-14,49,-14,81,-14,-110,-14,-22,-14,96,-13,-8,-13,-90,-12,-117,-11,-117,-10,-64,-9,27,-7,-88,-6,85,-4,55,-2,39,0,63,2,82,4,117,6,-128,8,120,10,69,12,-35,13,56,15,72,16,6,17,111,17,127,17,61,17,-98,16,-70,15,-123,14,27,13,120,11,-78,9,-57,7,-41,5,-47,3,-35,1,-27,-1,10,-2,59,-4,-108,-6,-3,-8,-108,-9,77,-10,30,-11,31,-12,62,-13,-120,-14,-7,-15,-104,-15,96,-15,87,-15,-124,-15,-41,-15,109,-14,39,-13,30,-12,61,-11,-109,-10,5,-8,-86,-7,91,-5,37,-3,3,-1,-33,0,-70,2,-124,4,63,6,-48,7,79,9,-113,10,-73,11,-103,12,92,13,-41,13,49,14,71,14,57,14,-15,13,-123,13,-24,12,45,12,65,11,62,10,17,9,-46,7,109,6,-1,4,112,3,-36,1,51,0,-119,-2,-38,-4,46,-5,-116,-7,-7,-9,124,-10,28,-11,-32,-13,-53,-14,-17,-15,55,-15,-55,-16,-119,-16,-110,-16,-39,-16,88,-15,37,-14,28,-13,92,-12,-62,-11,94,-9,24,-7,-5,-6,-25,-4,-18,-2,-19,0,-15,2,-33,4,-76,6,118,8,10,10,116,11,-84,12,-87,13,109,14,-13,14,57,15,62,15,11,15,-109,14,-17,13,8,13,4,12,-59,10,118,9,-7,7,119,6,-42,4,62,3,-102,1,-10,-1,96,-2,-55,-4,84,-5,-34,-7,-111,-8,78,-9,52,-10,45,-11,85,-12,-111,-13,4,-13,-110,-14,86,-14,66,-14,96,-14,-82,-14,47,-13,-38,-13,-61,-12,-53,-11,17,-9,106,-8,-10,-7,-112,-5,73,-3,6,-1,-49,0,-118,2,68,4,-31,5,104,7,-53,8,12,10,25,11,7,12,-78,12,65,13,-113,13,-67,13,-80,13,-126,13,33,13,-96,12,-20,11,35,11,38,10,22,9,-40,7,-121,6,11,5,-123,3,-43,1,35,0,85,-2,-117,-4,-64,-6,-13,-8,67,-9,-95,-11,50,-12,-29,-14,-38,-15,5,-15,127,-16,60,-16,77,-16,-89,-16,79,-15,63,-14,108,-13,-41,-12,106,-10,38,-8,-11,-7,-52,-5,-78,-3,-128,-1,75,1,-19,2,-126,4,-34,5,41,7,61,8,57,9,5,10,-72,10,69,11,-73,11,14,12,68,12,104,12,104,12,77,12,22,12,-78,11,52,11,127,10,-85,9,-95,8,115,7,19,6,-107,4,-20,2,54,1,96,-1,-107,-3,-70,-5,3,-6,84,-8,-40,-10,127,-11,98,-12,-128,-13,-40,-14,113,-14,73,-14,93,-14,-88,-14,36,-13,-46,-13,-105,-12,-115,-11,-123,-10,-94,-9,-68,-8,-16,-7,28,-5,97,-4,-102,-3,-19,-2,56,0,-110,1,-9,2,97,4,-48,5,64,7,-87,8,5,10,77,11,114,12,114,13,63,14,-55,14,26,15,20,15,-54,14,39,14,61,13,-1,11,-117,10,-41,8,-14,6,-13,4,-41,2,-59,0,-77,-2,-66,-4,-20,-6,70,-7,-44,-9,-98,-10,-100,-11,-36,-12,76,-12,-9,-13,-58,-13,-55,-13,-33,-13,33,-12,105,-12,-43,-12,68,-11,-48,-11,100,-10,20,-9,-45,-9,-79,-8,-87,-7,-64,-6,-10,-5,78,-3,-66,-2,80,0,-21,1,-102,3,68,5,-21,6,118,8,-30,9,42,11,57,12,12,13}; }
	private static byte[] data6(){ return new byte[] {-100,13,-26,13,-24,13,-90,13,31,13,92,12,106,11,71,10,12,9,-81,7,84,6,-30,4,-121,3,34,2,-41,0,-100,-1,94,-2,67,-3,27,-4,24,-5,5,-6,9,-7,8,-8,21,-9,39,-10,72,-11,125,-12,-57,-13,56,-13,-47,-14,-103,-14,-95,-14,-29,-14,107,-13,63,-12,77,-11,-91,-10,59,-8,-1,-7,-9,-5,-5,-3,31,0,47,2,63,4,35,6,-26,7,110,9,-70,10,-61,11,-124,12,3,13,59,13,55,13,-5,12,-114,12,-5,11,71,11,124,10,-100,9,-74,8,-66,7,-54,6,-58,5,-61,4,-76,3,-98,2,121,1,75,0,10,-1,-60,-3,108,-4,22,-5,-75,-7,102,-8,33,-9,-14,-11,-26,-12,3,-12,84,-13,-34,-14,-86,-14,-74,-14,8,-13,-101,-13,107,-12,121,-11,-82,-10,20,-8,-115,-7,31,-5,-77,-4,74,-2,-51,-1,64,1,-96,2,-32,3,10,5,11,6,-3,6,-58,7,-124,8,36,9,-77,9,49,10,-102,10,-11,10,55,11,100,11,116,11,99,11,44,11,-57,10,63,10,111,9,-122,8,72,7,-4,5,97,4,-66,2,-24,0,14,-1,38,-3,73,-5,121,-7,-44,-9,73,-10,9,-11,-19,-13,45,-13,-98,-14,100,-14,104,-14,-81,-14,49,-13,-21,-13,-55,-12,-40,-11,-10,-10,49,-8,114,-7,-66,-6,7,-4,81,-3,-108,-2,-48,-1,7,1,56,2,91,3,-128,4,-108,5,-97,6,-89,7,-104,8,124,9,71,10,-12,10,126,11,-27,11,20,12,33,12,-22,11,-123,11,-21,10,20,10,22,9,-29,7,-112,6,32,5,-107,3,14,2,113,0,-26,-2,103,-3,-6,-5,-82,-6,-128,-7,118,-8,-112,-9,-45,-10,54,-10,-60,-11,109,-11,59,-11,34,-11,43,-11,72,-11,-121,-11,-42,-11,70,-10,-49,-10,118,-9,58,-8,29,-7,30,-6,64,-5,123,-4,-43,-3,65,-1,-61,0,74,2,-36,3,96,5,-36,6,65,8,127,9,-93,10,-122,11,64,12,-68,12,-5,12,-2,12,-63,12,73,12,-97,11,-74,10,-77,9,120,8,48,7,-57,5,85,4,-36,2,94,1,-22,-1,127,-2,31,-3,-37,-5,-91,-6,-119,-7,-124,-8,-101,-9,-47,-10,33,-10,-107,-11,42,-11,-33,-12,-70,-12,-68,-12,-31,-12,50,-11,-89,-11,66,-10,8,-9,-19,-9,-10,-8,29,-6,90,-5,-82,-4,6,-2,121,-1,-36,0,75,2,-97,3,-15,4,35,6,63,7,56,8,18,9,-62,9,85,10,-77,10,-11,10,5,11,-8,10,-67,10,103,10,-27,9,80,9,-111,8,-64,7,-50,6,-51,5,-80,4,-118,3,80,2,17,1,-62,-1,125,-2,40,-3,-19,-5,-89,-6,-126,-7,98,-8,104,-9,127,-10,-62,-11,36,-11,-77,-12,103,-12,83,-12,94,-12,-84,-12,24,-11,-70,-11,-119,-10,118,-9,-108,-8,-56,-7,27,-5,-126,-4,-8,-3,118,-1,-12,0,116,2,-34,3,60,5,-122,6,-81,7,-68,8,-98,9,93,10,-24,10,81,11,125,11,-119,11,90,11,10,11,-122,10,-28,9,23,9,46,8,46,7,13,6,-23,4,-81,3,112,2,43,1,-26,-1,-86,-2,110,-3,72,-4,39,-5,32,-6,39,-7,74,-8,-126,-9,-40,-10,76,-10,-34,-11,-107,-11,105,-11,106,-11,-119,-11,-49,-11,67,-10,-51,-10,-111,-9,96,-8,100,-7,115,-6,-92,-5,-27,-4,51,-2,-120,-1,-27,0,49,2,-124,3,-73,4,-32,5,-21,6,-37,7,-90,8,83,9,-40,9,62,10,121,10,-109,10,-121,10,89,10,5,10,-101,9,2,9,95,8,-114,7,-80,6,-79,5,-94,4,118,3,68,2,-10,0,-87,-1,83,-2,-11,-4,-95,-5,80,-6,22,-7,-20,-9,-23,-10,0,-10,73,-11,-71,-12,102,-12,59,-12,90,-12,-104,-12,37,-11,-51,-11,-78,-10,-71,-9,-32,-8,31,-6,120,-5,-47,-4,57,-2,-111,-1,-22,0,38,2,93,3,110,4,114,5,81,6,27,7,-56,7,89,8,-45,8,48,9,120,9,-92,9,-70,9,-76,9,-108,9,89,9,0,9,-122,8,-16,7,53,7,93,6,102,5,76,4,38,3,-40,1,-112,0,43,-1,-43,-3,118,-4,51,-5,-11,-7,-29,-8,-22,-9,23,-9,114,-10,-11,-11,-84,-11,-117,-11,-103,-11,-48,-11,45,-10,-88,-10,72,-9,-10,-9,-62,-8,-103,-7,126,-6,113,-5,104,-4,107,-3,110,-2,121,-1,-117,0,-95,1,-71,2,-47,3,-22,4,-5,5,3,7,-5,7,-33,8,-88,9,79,10,-50,10,30,11,65,11,41,11,-33,10,86,10,-94,9,-83,8,-101,7,88,6,-7,4,-122,3,1,2,127,0,2,-1,-109,-3,64,-4,6,-5,-16,-7,1,-7,59,-8,-104,-9,36,-9,-52,-10,-99,-10,-118,-10,-110,-10,-73,-10,-24,-10,59,-9,-112,-9,7,-8,-126,-8,28,-7,-64,-7,-128,-6,81,-5,59,-4,59,-3,76,-2,115,-1,-89,0,-32,1,40,3}; }
	private static byte[] data7(){ return new byte[] {91,4,-104,5,-81,6,-74,7,-98,8,88,9,-17,9,76,10,127,10,122,10,69,10,-30,9,82,9,-97,8,-53,7,-34,6,-32,5,-44,4,-62,3,-79,2,-99,1,-104,0,-105,-1,-101,-2,-85,-3,-61,-4,-26,-5,11,-5,68,-6,119,-7,-58,-8,17,-8,122,-9,-23,-10,-127,-10,33,-10,-5,-11,-27,-11,10,-10,88,-10,-49,-10,-126,-9,90,-8,103,-7,-103,-6,-25,-5,89,-3,-46,-2,86,0,-36,1,74,3,-80,4,-20,5,10,7,-2,7,-67,8,89,9,-76,9,-16,9,-10,9,-42,9,-107,9,50,9,-75,8,38,8,-127,7,-46,6,20,6,78,5,-128,4,-86,3,-57,2,-26,1,-21,0,-4,-1,-10,-2,-16,-3,-24,-4,-37,-5,-35,-6,-37,-7,-13,-8,24,-8,93,-9,-60,-10,77,-10,10,-10,-21,-11,4,-10,70,-10,-63,-10,91,-9,40,-8,16,-7,22,-6,49,-5,91,-4,-122,-3,-76,-2,-35,-1,-6,0,11,2,5,3,-13,3,-64,4,-120,5,43,6,-55,6,73,7,-66,7,29,8,108,8,-89,8,-51,8,-34,8,-43,8,-81,8,116,8,5,8,-119,7,-41,6,14,6,25,5,9,4,-40,2,-103,1,61,0,-27,-2,126,-3,44,-4,-33,-6,-77,-7,-97,-8,-72,-9,-11,-10,104,-10,7,-10,-37,-11,-38,-11,12,-10,104,-10,-26,-10,-117,-9,71,-8,28,-7,3,-6,-16,-6,-17,-5,-26,-4,-21,-3,-27,-2,-29,-1,-38,0,-49,1,-73,2,-97,3,123,4,84,5,24,6,-42,6,124,7,17,8,-117,8,-24,8,39,9,65,9,55,9,4,9,-84,8,42,8,-125,7,-69,6,-46,5,-48,4,-72,3,-107,2,105,1,59,0,13,-1,-18,-3,-36,-4,-37,-5,-9,-6,38,-6,118,-7,-36,-8,98,-8,2,-8,-65,-9,-108,-9,-126,-9,-118,-9,-88,-9,-34,-9,40,-8,-118,-8,4,-7,-110,-7,62,-6,-11,-6,-47,-5,-76,-4,-72,-3,-68,-2,-32,-1,-6,0,42,2,73,3,111,4,120,5,-127,6,91,7,43,8,-59,8,70,9,-108,9,-68,9,-73,9,-128,9,40,9,-97,8,-6,7,50,7,77,6,85,5,75,4,54,3,27,2,-2,0,-32,-1,-47,-2,-65,-3,-55,-4,-38,-5,-4,-6,51,-6,126,-7,-31,-8,89,-8,-15,-9,-100,-9,105,-9,81,-9,85,-9,124,-9,-69,-9,34,-8,-101,-8,62,-7,-19,-7,-61,-6,-94,-5,-102,-4,-101,-3,-81,-2,-67,-1,-39,0,-29,1,-15,2,-25,3,-42,4,-88,5,104,6,10,7,-107,7,-6,7,75,8,114,8,-124,8,113,8,70,8,-6,7,-103,7,22,7,-122,6,-40,5,25,5,76,4,104,3,-126,2,-120,1,-114,0,-115,-1,-117,-2,-116,-3,-104,-4,-94,-5,-55,-6,-15,-7,60,-7,-105,-8,14,-8,-96,-9,86,-9,41,-9,35,-9,58,-9,125,-9,-40,-9,94,-8,-4,-8,-68,-7,-108,-6,-126,-5,-125,-4,-109,-3,-84,-2,-52,-1,-22,0,0,2,24,3,24,4,16,5,-22,5,-77,6,89,7,-26,7,77,8,-104,8,-68,8,-66,8,-96,8,92,8,-2,7,127,7,-26,6,52,6,111,5,-102,4,-77,3,-60,2,-52,1,-45,0,-43,-1,-31,-2,-19,-3,7,-3,39,-4,90,-5,-103,-6,-15,-7,86,-7,-39,-8,107,-8,33,-8,-23,-9,-44,-9,-42,-9,-6,-9,57,-8,-106,-8,14,-7,-90,-7,80,-6,26,-5,-18,-5,-34,-4,-47,-3,-42,-2,-39,-1,-32,0,-30,1,-35,2,-56,3,-86,4,110,5,35,6,-67,6,64,7,-96,7,-19,7,20,8,38,8,21,8,-18,7,-91,7,78,7,-48,6,73,6,-94,5,-19,4,36,4,74,3,97,2,111,1,119,0,109,-1,113,-2,97,-3,109,-4,109,-5,-113,-6,-76,-7,-3,-8,88,-8,-39,-9,122,-9,65,-9,47,-9,69,-9,-128,-9,-27,-9,105,-8,19,-7,-42,-7,-80,-6,-98,-5,-104,-4,-94,-3,-91,-2,-81,-1,-81,0,-93,1,-112,2,101,3,49,4,-30,4,-124,5,13,6,-123,6,-26,6,50,7,105,7,-116,7,-106,7,-114,7,108,7,53,7,-27,6,124,6,-5,5,98,5,-80,4,-21,3,14,3,36,2,42,1,40,0,34,-1,27,-2,27,-3,39,-4,65,-5,115,-6,-63,-7,34,-7,-83,-8,78,-8,26,-8,2,-8,13,-8,52,-8,126,-8,-40,-8,84,-7,-38,-7,121,-6,34,-5,-40,-5,-104,-4,96,-3,46,-2,1,-1,-46,-1,-78,0,-119,1,103,2,59,3,20,4,-38,4,-92,5,76,6,-10,6,117,7,-20,7,53,8,102,8,110,8,78,8,11,8,-99,7,14,7,89,6,-122,5,-105,4,-107,3,-123,2,101,1,82,0,49,-1,44,-2,42,-3,66,-4,113,-5,-71,-6,28,-6,-99,-7,59,-7,-18,-8,-57,-8,-87,-8,-81,-8,-63,-8,-23,-8,38,-7,109,-7,-52,-7,54,-6,-75,-6,67,-5,-34,-5,-111,-4}; }
	private static byte[] data8(){ return new byte[] {74,-3,30,-2,-13,-2,-34,-1,-59,0,-67,1,-88,2,-105,3,113,4,74,5,-1,5,-84,6,41,7,-106,7,-43,7,-14,7,-15,7,-64,7,123,7,11,7,-120,6,-25,5,56,5,119,4,-84,3,-38,2,7,2,53,1,98,0,-106,-1,-55,-2,14,-2,77,-3,-96,-4,-15,-5,83,-5,-72,-6,50,-6,-82,-7,66,-7,-27,-8,-101,-8,113,-8,87,-8,101,-8,-117,-8,-42,-8,67,-7,-47,-7,-127,-6,77,-5,55,-4,48,-3,65,-2,85,-1,114,0,-118,1,-104,2,-106,3,-128,4,80,5,3,6,-109,6,7,7,81,7,-125,7,-115,7,127,7,84,7,16,7,-71,6,77,6,-44,5,76,5,-72,4,28,4,115,3,-53,2,12,2,89,1,-116,0,-52,-1,-5,-2,46,-2,100,-3,-108,-4,-45,-5,22,-5,105,-6,-49,-7,74,-7,-30,-8,-108,-8,104,-8,93,-8,120,-8,-82,-8,19,-7,-125,-7,39,-6,-51,-6,-102,-5,103,-4,75,-3,43,-2,14,-1,-14,-1,-53,0,-96,1,97,2,30,3,-63,3,97,4,-29,4,99,5,-58,5,37,6,105,6,-91,6,-55,6,-34,6,-32,6,-56,6,-95,6,92,6,0,6,-115,5,-6,4,87,4,-112,3,-62,2,-43,1,-27,0,-28,-1,-31,-2,-30,-3,-26,-4,-6,-5,33,-5,91,-6,-73,-7,42,-7,-57,-8,-127,-8,96,-8,96,-8,-125,-8,-60,-8,33,-7,-105,-7,34,-6,-64,-6,106,-5,34,-4,-33,-4,-95,-3,109,-2,42,-1,-3,-1,-74,0,-128,1,54,2,-21,2,-101,3,63,4,-36,4,101,5,-25,5,76,6,-88,6,-29,6,12,7,21,7,4,7,-44,6,-117,6,31,6,-97,5,-1,4,78,4,-119,3,-70,2,-40,1,-6,0,12,0,54,-1,79,-2,-117,-3,-65,-4,19,-4,113,-5,-23,-6,111,-6,20,-6,-63,-7,-109,-7,109,-7,100,-7,107,-7,-120,-7,-76,-7,-8,-7,75,-6,-74,-6,41,-5,-67,-5,80,-4,2,-3,-69,-3,-127,-2,84,-1,47,0,7,1,-20,1,-64,2,-103,3,92,4,23,5,-73,5,68,6,-75,6,11,7,63,7,86,7,75,7,35,7,-42,6,117,6,-14,5,94,5,-77,4,-8,3,47,3,95,2,-119,1,-79,0,-38,-1,8,-1,60,-2,123,-3,-63,-4,24,-4,125,-5,-18,-6,122,-6,15,-6,-63,-7,-124,-7,92,-7,82,-7,85,-7,122,-7,-80,-7,2,-6,103,-6,-28,-6,115,-5,19,-4,-56,-4,-126,-3,82,-2,26,-1,-13,-1,-60,0,-108,1,93,2,29,3,-54,3,115,4,-4,4,123,5,-30,5,45,6,107,6,-122,6,-112,6,-125,6,88,6,33,6,-53,5,107,5,-17,4,105,4,-48,3,43,3,123,2,-61,1,-1,0,62,0,117,-1,-81,-2,-21,-3,48,-3,121,-4,-44,-5,57,-5,-80,-6,55,-6,-40,-7,-117,-7,89,-7,65,-7,66,-7,93,-7,-106,-7,-31,-7,79,-6,-56,-6,99,-5,4,-4,-62,-4,125,-3,87,-2,32,-1,0,0,-46,0,-86,1,119,2,55,3,-11,3,-113,4,45,5,-97,5,16,6,85,6,-111,6,-91,6,-86,6,-114,6,93,6,17,6,-79,5,59,5,-76,4,28,4,120,3,-58,2,14,2,79,1,-114,0,-52,-1,11,-1,81,-2,-100,-3,-14,-4,82,-4,-64,-5,58,-5,-54,-6,104,-6,25,-6,-29,-7,-70,-7,-76,-7,-73,-7,-37,-7,14,-6,96,-6,-66,-6,58,-5,-65,-5,95,-4,6,-3,-66,-3,123,-2,65,-1,11,0,-47,0,-106,1,86,2,5,3,-76,3,67,4,-49,4,63,5,-93,5,-21,5,32,6,59,6,71,6,51,6,20,6,-42,5,-119,5,44,5,-76,4,56,4,-96,3,2,3,89,2,-97,1,-26,0,36,0,90,-1,-102,-2,-50,-3,22,-3,92,-4,-75,-5,27,-5,-110,-6,34,-6,-58,-7,-121,-7,98,-7,90,-7,111,-7,-97,-7,-17,-7,81,-6,-44,-6,95,-5,11,-4,-72,-4,121,-3,57,-2,3,-1,-56,-1,-115,0,70,1,-2,1,-95,2,67,3,-53,3,76,4,-71,4,23,5,99,5,-95,5,-57,5,-30,5,-24,5,-39,5,-66,5,-121,5,72,5,-22,4,-125,4,3,4,117,3,-39,2,43,2,118,1,-77,0,-14,-1,39,-1,103,-2,-94,-3,-17,-4,71,-4,-83,-5,38,-5,-74,-6,91,-6,24,-6,-13,-7,-33,-7,-22,-7,11,-6,60,-6,-115,-6,-32,-6,86,-5,-58,-5,83,-4,-33,-4,120,-3,25,-2,-74,-2,100,-1,9,0,-71,0,99,1,12,2,-75,2,81,3,-20,3,121,4,-7,4,108,5,-56,5,19,6,65,6,92,6,85,6,58,6,-6,5,-87,5,47,5,-83,4,7,4,89,3,-106,2,-51,1,-7,0,44,0,87,-1,-106,-2,-46,-3,41,-3,-125,-4,-3,-5,126,-5,30,-5,-53,-6,-111,-6,105,-6,83,-6,82,-6,93,-6,-128,-6,-86,-6}; }
	private static byte[] data9(){ return new byte[] {-24,-6,53,-5,-115,-5,-11,-5,107,-4,-21,-4,121,-3,21,-2,-76,-2,103,-1,19,0,-50,0,-125,1,53,2,-23,2,-116,3,38,4,-79,4,36,5,-122,5,-52,5,-7,5,14,6,4,6,-28,5,-86,5,86,5,-12,4,121,4,-10,3,96,3,-56,2,38,2,127,1,-29,0,51,0,-102,-1,-12,-2,96,-2,-58,-3,64,-3,-77,-4,60,-4,-60,-5,94,-5,2,-5,-78,-6,119,-6,71,-6,47,-6,45,-6,62,-6,106,-6,-84,-6,6,-5,124,-5,4,-4,-92,-4,81,-3,19,-2,-40,-2,-88,-1,121,0,70,1,10,2,-54,2,110,3,14,4,-113,4,-4,4,85,5,-114,5,-75,5,-63,5,-67,5,-101,5,113,5,42,5,-33,4,-128,4,22,4,-92,3,38,3,-95,2,23,2,-126,1,-19,0,79,0,-80,-1,16,-1,108,-2,-42,-3,49,-3,-89,-4,16,-4,-97,-5,34,-5,-48,-6,-128,-6,79,-6,56,-6,47,-6,79,-6,121,-6,-57,-6,37,-5,-103,-5,31,-4,-74,-4,81,-3,-4,-3,-90,-2,86,-1,2,0,-84,0,76,1,-25,1,119,2,-5,2,118,3,-34,3,66,4,-110,4,-42,4,15,5,49,5,80,5,84,5,78,5,57,5,5,5,-45,4,119,4,29,4,-95,3,32,3,-128,2,-25,1,40,1,124,0,-77,-1,-6,-2,57,-2,-124,-3,-42,-4,57,-4,-86,-5,51,-5,-47,-6,-122,-6,86,-6,58,-6,64,-6,85,-6,-121,-6,-53,-6,35,-5,-118,-5,2,-4,-128,-4,14,-3,-96,-3,53,-2,-46,-2,107,-1,8,0,-92,0,53,1,-49,1,91,2,-31,2,102,3,-43,3,68,4,-97,4,-19,4,42,5,83,5,108,5,108,5,89,5,46,5,-16,4,-99,4,50,4,-69,3,50,3,-102,2,-4,1,80,1,-90,0,-9,-1,76,-1,-89,-2,7,-2,117,-3,-22,-4,115,-4,4,-4,-84,-5,96,-5,37,-5,-3,-6,-27,-6,-37,-6,-24,-6,-3,-6,39,-5,97,-5,-91,-5,-1,-5,95,-4,-43,-4,80,-3,-36,-3,110,-2,12,-1,-83,-1,86,0,-6,0,-89,1,69,2,-26,2,117,3,-8,3,114,4,-46,4,37,5,93,5,-127,5,-113,5,127,5,97,5,34,5,-38,4,115,4,6,4,127,3,-10,2,93,2,-66,1,28,1,120,0,-43,-1,53,-1,-106,-2,2,-2,115,-3,-15,-4,121,-4,15,-4,-79,-5,102,-5,39,-5,-4,-6,-31,-6,-40,-6,-27,-6,-2,-6,48,-5,111,-5,-61,-5,37,-4,-105,-4,17,-3,-94,-3,47,-2,-48,-2,107,-1,17,0,-81,0,81,1,-27,1,124,2,-5,2,-128,3,-32,3,74,4,-118,4,-47,4,-16,4,14,5,13,5,3,5,-34,4,-77,4,108,4,31,4,-68,3,82,3,-41,2,90,2,-57,1,63,1,-95,0,12,0,113,-1,-40,-2,67,-2,-75,-3,40,-3,-79,-4,56,-4,-40,-5,126,-5,57,-5,7,-5,-28,-6,-41,-6,-34,-6,-9,-6,39,-5,105,-5,-71,-5,33,-4,-110,-4,21,-3,-92,-3,53,-2,-38,-2,117,-1,26,0,-66,0,93,1,-6,1,-119,2,22,3,-117,3,-2,3,88,4,-93,4,-32,4,1,5,24,5,20,5,0,5,-41,4,-97,4,80,4,-5,3,-113,3,27,3,-100,2,17,2,-123,1,-17,0,92,0,-60,-1,50,-1,-99,-2,23,-2,-112,-3,23,-3,-90,-4,66,-4,-21,-5,-94,-5,106,-5,64,-5,41,-5,35,-5,44,-5,76,-5,118,-5,-70,-5,7,-4,104,-4,-44,-4,77,-3,-44,-3,95,-2,-13,-2,-115,-1,33,0,-62,0,80,1,-26,1,106,2,-23,2,92,3,-62,3,24,4,97,4,-107,4,-66,4,-50,4,-44,4,-60,4,-93,4,119,4,51,4,-23,3,-118,3,35,3,-81,2,47,2,-83,1,27,1,-114,0,-14,-1,94,-1,-58,-2,49,-2,-92,-3,27,-3,-94,-4,45,-4,-49,-5,122,-5,61,-5,19,-5,-9,-6,-6,-6,8,-5,51,-5,112,-5,-69,-5,29,-4,-117,-4,9,-3,-114,-3,31,-2,-80,-2,73,-1,-32,-1,117,0,4,1,-113,1,18,2,-119,2,-8,2,92,3,-82,3,-3,3,50,4,98,4,-126,4,-110,4,-109,4,-119,4,104,4,65,4,4,4,-69,3,101,3,-3,2,-112,2,14,2,-116,1,-5,0,105,0,-45,-1,59,-1,-90,-2,27,-2,-116,-3,22,-3,-102,-4,66,-4,-29,-5,-87,-5,117,-5,88,-5,78,-5,87,-5,108,-5,-99,-5,-49,-5,28,-4,110,-4,-50,-4,57,-3,-88,-3,32,-2,-95,-2,27,-1,-89,-1,40,0,-79,0,52,1,-69,1,53,2,-77,2,33,3,-116,3,-26,3,58,4,120,4,-87,4,-55,4,-48,4,-52,4,-88,4,124,4,50,4,-36,3,112,3,-10,2,114,2,-32,1,72,1,-83,0,18,0,115,-1,-29,-2,78,-2,-49,-3,84,-3,-24,-4,-116,-4,58,-4,-1,-5}; }
	private static byte[] data10(){ return new byte[] {-53,-5,-81,-5,-102,-5,-103,-5,-94,-5,-69,-5,-32,-5,17,-4,80,-4,-104,-4,-17,-4,74,-3,-72,-3,36,-2,-91,-2,32,-1,-82,-1,49,0,-61,0,74,1,-44,1,86,2,-45,2,66,3,-89,3,-3,3,63,4,116,4,-111,4,-98,4,-108,4,124,4,75,4,15,4,-64,3,101,3,-2,2,-114,2,24,2,-100,1,28,1,-100,0,25,0,-100,-1,27,-1,-89,-2,46,-2,-60,-3,88,-3,-4,-4,-97,-4,88,-4,15,-4,-37,-5,-78,-5,-109,-5,-115,-5,-116,-5,-91,-5,-52,-5,6,-4,83,-4,-85,-4,28,-3,-110,-3,28,-2,-87,-2,63,-1,-37,-1,116,0,13,1,-96,1,40,2,-87,2,25,3,125,3,-51,3,16,4,62,4,91,4,104,4,99,4,78,4,47,4,-8,3,-63,3,115,3,40,3,-59,2,107,2,-8,1,-111,1,22,1,-95,0,36,0,-90,-1,45,-1,-84,-2,51,-2,-66,-3,77,-3,-27,-4,-116,-4,54,-4,-7,-5,-62,-5,-93,-5,-110,-5,-106,-5,-84,-5,-45,-5,15,-4,88,-4,-78,-4,24,-3,-121,-3,4,-2,-128,-2,8,-1,-120,-1,17,0,-111,0,13,1,-119,1,-14,1,95,2,-68,2,13,3,96,3,-109,3,-45,3,-16,3,20,4,29,4,37,4,19,4,0,4,-45,3,-96,3,92,3,9,3,-86,2,63,2,-56,1,72,1,-63,0,53,0,-94,-1,25,-1,-121,-2,5,-2,-127,-3,17,-3,-86,-4,83,-4,10,-4,-44,-5,-80,-5,-95,-5,-95,-5,-76,-5,-39,-5,9,-4,81,-4,-102,-4,-7,-4,86,-3,-58,-3,51,-2,-87,-2,36,-1,-104,-1,20,0,-116,0,3,1,120,1,-27,1,78,2,-80,2,10,3,90,3,-98,3,-42,3,2,4,29,4,41,4,42,4,16,4,-12,3,-71,3,121,3,38,3,-57,2,97,2,-24,1,114,1,-19,0,108,0,-25,-1,102,-1,-26,-2,111,-2,-4,-3,-107,-3,55,-3,-27,-4,-97,-4,101,-4,57,-4,25,-4,11,-4,2,-4,17,-4,32,-4,73,-4,117,-4,-80,-4,-7,-4,72,-3,-90,-3,11,-2,118,-2,-19,-2,101,-1,-27,-1,98,0,-27,0,96,1,-34,1,79,2,-66,2,25,3,117,3,-73,3,-11,3,24,4,51,4,54,4,45,4,13,4,-29,3,-93,3,90,3,3,3,-99,2,54,2,-68,1,75,1,-57,0,81,0,-49,-1,86,-1,-35,-2,105,-2,0,-2,-105,-3,63,-3,-19,-4,-93,-4,113,-4,58,-4,33,-4,12,-4,8,-4,20,-4,44,-4,82,-4,-120,-4,-55,-4,23,-3,111,-3,-42,-3,59,-2,-75,-2,39,-1,-91,-1,32,0,-101,0,22,1,-119,1,-10,1,95,2,-72,2,15,3,80,3,-116,3,-72,3,-45,3,-25,3,-29,3,-37,3,-67,3,-106,3,97,3,32,3,-44,2,126,2,31,2,-71,1,75,1,-36,0,97,0,-12,-1,115,-1,5,-1,-113,-2,36,-2,-67,-3,94,-3,9,-3,-68,-4,-126,-4,73,-4,44,-4,18,-4,13,-4,24,-4,43,-4,88,-4,-122,-4,-49,-4,25,-3,120,-3,-39,-3,71,-2,-69,-2,48,-1,-82,-1,43,0,-93,0,34,1,-110,1,3,2,104,2,-60,2,22,3,91,3,-107,3,-69,3,-37,3,-30,3,-28,3,-48,3,-78,3,-125,3,74,3,2,3,-77,2,85,2,-9,1,-122,1,32,1,-88,0,54,0,-60,-1,78,-1,-30,-2,117,-2,16,-2,-78,-3,93,-3,17,-3,-51,-4,-101,-4,111,-4,82,-4,67,-4,63,-4,77,-4,101,-4,-116,-4,-66,-4,2,-3,73,-3,-92,-3,0,-2,103,-2,-40,-2,69,-1,-65,-1,48,0,-87,0,23,1,-121,1,-21,1,78,2,-95,2,-16,2,47,3,103,3,-117,3,-85,3,-78,3,-71,3,-93,3,-113,3,94,3,48,3,-26,2,-95,2,69,2,-21,1,-127,1,26,1,-89,0,58,0,-60,-1,84,-1,-25,-2,120,-2,24,-2,-73,-3,99,-3,27,-3,-42,-4,-89,-4,123,-4,101,-4,85,-4,89,-4,101,-4,-123,-4,-86,-4,-28,-4,32,-3,113,-3,-60,-3,35,-2,-121,-2,-14,-2,95,-1,-46,-1,62,0,-76,0,27,1,-118,1,-25,1,72,2,-105,2,-30,2,34,3,81,3,122,3,-111,3,-98,3,-101,3,-115,3,111,3,71,3,15,3,-47,2,-126,2,46,2,-45,1,106,1,7,1,-105,0,38,0,-68,-1,72,-1,-32,-2,123,-2,22,-2,-66,-3,108,-3,36,-3,-25,-4,-73,-4,-112,-4,120,-4,113,-4,108,-4,-122,-4,-102,-4,-54,-4,-2,-4,60,-3,-115,-3,-36,-3,61,-2,-102,-2,7,-1,110,-1,-32,-1,74,0,-70,0,33,1,-118,1,-26,1,67,2,-115,2,-38,2,14,3,70,3,99,3,126,3,-122,3,-127,3,117,3,83,3,45,3,-13,2,-73,2,103,2,25,2,-72,1,90,1,-15,0,-122,0,28,0,-83,-1,69,-1}; }
	private static byte[] data11(){ return new byte[] {-39,-2,120,-2,24,-2,-62,-3,116,-3,47,-3,-10,-4,-59,-4,-89,-4,-117,-4,-119,-4,-121,-4,-101,-4,-72,-4,-29,-4,24,-3,88,-3,-92,-3,-10,-3,82,-2,-78,-2,25,-1,-128,-1,-18,-1,86,0,-64,0,38,1,-118,1,-28,1,61,2,-123,2,-51,2,2,3,50,3,83,3,101,3,113,3,105,3,90,3,59,3,13,3,-34,2,-105,2,84,2,-5,1,-89,1,65,1,-29,0,118,0,14,0,-90,-1,57,-1,-37,-2,115,-2,29,-2,-57,-3,124,-3,59,-3,3,-3,-41,-4,-73,-4,-92,-4,-102,-4,-93,-4,-76,-4,-48,-4,0,-3,45,-3,120,-3,-74,-3,19,-2,98,-2,-54,-2,40,-1,-111,-1,-7,-1,96,0,-56,0,44,1,-119,1,-26,1,52,2,-128,2,-65,2,-11,2,32,3,65,3,80,3,92,3,79,3,67,3,30,3,-6,2,-66,2,-124,2,53,2,-23,1,-117,1,51,1,-53,0,104,0,5,0,-106,-1,60,-1,-50,-2,122,-2,27,-2,-48,-3,-124,-3,70,-3,18,-3,-26,-4,-51,-4,-76,-4,-73,-4,-75,-4,-48,-4,-23,-4,24,-3,75,-3,-116,-3,-44,-3,35,-2,125,-2,-40,-2,59,-1,-96,-1,1,0,111,0,-55,0,50,1,-119,1,-32,1,50,2,117,2,-73,2,-27,2,18,3,44,3,62,3,67,3,58,3,40,3,10,3,-37,2,-85,2,102,2,35,2,-49,1,123,1,28,1,-67,0,89,0,-9,-1,-114,-1,50,-1,-51,-2,118,-2,32,-2,-46,-3,-113,-3,81,-3,33,-3,-9,-4,-35,-4,-51,-4,-57,-4,-46,-4,-28,-4,3,-3,49,-3,98,-3,-91,-3,-21,-3,58,-2,-111,-2,-19,-2,75,-1,-81,-1,14,0,116,0,-48,0,54,1,-123,1,-29,1,37,2,114,2,-90,2,-36,2,-2,2,27,3,41,3,46,3,35,3,16,3,-15,2,-62,2,-110,2,81,2,9,2,-67,1,100,1,13,1,-85,0,78,0,-23,-1,-119,-1,43,-1,-54,-2,120,-2,34,-2,-38,-3,-106,-3,92,-3,45,-3,9,-3,-18,-4,-31,-4,-34,-4,-26,-4,-2,-4,25,-3,74,-3,121,-3,-67,-3,0,-2,80,-2,-92,-2,-1,-2,90,-1,-68,-1,27,0,124,0,-39,0,54,1,-119,1,-37,1,35,2,102,2,-100,2,-51,2,-17,2,8,3,21,3,25,3,12,3,-6,2,-41,2,-83,2,120,2,58,2,-13,1,-90,1,82,1,-8,0,-97,0,63,0,-31,-1,-128,-1,38,-1,-55,-2,120,-2,39,-2,-34,-3,-96,-3,105,-3,57,-3,28,-3,-3,-4,-10,-4,-13,-4,-3,-4,20,-3,51,-3,93,-3,-107,-3,-49,-3,24,-2,100,-2,-73,-2,15,-1,106,-1,-58,-1,39,0,-126,0,-32,0,53,1,-118,1,-41,1,31,2,92,2,-109,2,-67,2,-32,2,-10,2,3,3,1,3,-6,2,-33,2,-61,2,-107,2,98,2,35,2,-34,1,-111,1,65,1,-25,0,-113,0,49,0,-42,-1,120,-1,32,-1,-54,-2,117,-2,47,-2,-31,-3,-83,-3,112,-3,76,-3,38,-3,21,-3,5,-3,10,-3,17,-3,44,-3,73,-3,118,-3,-86,-3,-25,-3,46,-2,119,-2,-51,-2,28,-1,123,-1,-46,-1,47,0,-117,0,-30,0,55,1,-117,1,-47,1,25,2,83,2,-121,2,-80,2,-49,2,-25,2,-20,2,-15,2,-32,2,-53,2,-84,2,127,2,74,2,16,2,-56,1,127,1,46,1,-39,0,126,0,42,0,-56,-1,118,-1,24,-1,-54,-2,116,-2,50,-2,-25,-3,-74,-3,122,-3,91,-3,52,-3,39,-3,25,-3,29,-3,40,-3,64,-3,96,-3,-116,-3,-65,-3,-2,-3,64,-2,-115,-2,-39,-2,50,-1,-124,-1,-29,-1,55,0,-110,0,-24,0,56,1,-122,1,-45,1,12,2,78,2,122,2,-95,2,-61,2,-48,2,-33,2,-40,2,-49,2,-76,2,-108,2,107,2,51,2,-6,1,-76,1,107,1,30,1,-55,0,113,0,31,0,-65,-1,112,-1,21,-1,-58,-2,123,-2,48,-2,-12,-3,-71,-3,-117,-3,100,-3,72,-3,51,-3,48,-3,46,-3,63,-3,84,-3,117,-3,-92,-3,-45,-3,18,-2,85,-2,-100,-2,-18,-2,61,-1,-107,-1,-23,-1,68,0,-107,0,-19,0,56,1,-119,1,-54,1,13,2,64,2,111,2,-107,2,-79,2,-61,2,-55,2,-58,2,-72,2,-95,2,-128,2,82,2,33,2,-27,1,-96,1,92,1,8,1,-69,0,102,0,15,0,-69,-1,102,-1,20,-1,-58,-2,123,-2,55,-2,-8,-3,-60,-3,-106,-3,114,-3,86,-3,71,-3,62,-3,69,-3,82,-3,105,-3,-115,-3,-75,-3,-20,-3,37,-2,104,-2,-83,-2,-2,-2,77,-1,-97,-1,-9,-1,70,0,-96,0,-20,0,61,1,-126,1,-53,1,-1,1,61,2,96,2,-117,2,-95,2,-79,2,-73,2,-76,2,-94,2,-113,2,104,2,64,2,11,2,-46,1,-115,1}; }
	private static byte[] data12(){ return new byte[] {75,1,-8,0,-81,0,86,0,8,0,-79,-1,97,-1,16,-1,-59,-2,122,-2,61,-2,-1,-3,-50,-3,-96,-3,-128,-3,101,-3,88,-3,81,-3,87,-3,102,-3,126,-3,-96,-3,-53,-3,-1,-3,57,-2,123,-2,-64,-2,13,-1,92,-1,-83,-1,-3,-1,83,0,-96,0,-15,0,60,1,-126,1,-62,1,-1,1,42,2,94,2,120,2,-108,2,-96,2,-91,2,-96,2,-111,2,119,2,86,2,41,2,-7,1,-68,1,127,1,53,1,-19,0,-97,0,77,0,-3,-1,-85,-1,90,-1,16,-1,-62,-2,-127,-2,60,-2,10,-2,-45,-3,-82,-3,-116,-3,115,-3,105,-3,99,-3,105,-3,122,-3,-111,-3,-75,-3,-32,-3,16,-2,77,-2,-117,-2,-46,-2,29,-1,102,-1,-69,-1,7,0,89,0,-87,0,-14,0,62,1,127,1,-65,1,-10,1,37,2,78,2,109,2,-124,2,-112,2,-107,2,-117,2,-128,2,97,2,68,2,20,2,-24,1,-89,1,110,1,36,1,-34,0,-113,0,67,0,-14,-1,-89,-1,84,-1,14,-1,-62,-2,-126,-2,69,-2,13,-2,-33,-3,-72,-3,-104,-3,-123,-3,119,-3,117,-3,123,-3,-114,-3,-92,-3,-54,-3,-14,-3,37,-2,93,-2,-97,-2,-34,-2,46,-1,114,-1,-58,-1,15,0,97,0,-84,0,-12,0,62,1,124,1,-69,1,-17,1,27,2,69,2,95,2,118,2,-127,2,-127,2,125,2,104,2,84,2,42,2,9,2,-51,1,-99,1,88,1,23,1,-49,0,-126,0,57,0,-22,-1,-100,-1,83,-1,6,-1,-57,-2,-125,-2,73,-2,22,-2,-26,-3,-58,-3,-92,-3,-109,-3,-121,-3,-122,-3,-113,-3,-99,-3,-68,-3,-40,-3,8,-2,54,-2,113,-2,-82,-2,-13,-2,54,-1,-124,-1,-54,-1,29,0,99,0,-79,0,-8,0,57,1,126,1,-78,1,-23,1,19,2,56,2,83,2,104,2,111,2,115,2,104,2,88,2,63,2,26,2,-13,1,-66,1,-119,1,73,1,9,1,-64,0,121,0,44,0,-29,-1,-105,-1,77,-1,9,-1,-62,-2,-118,-2,73,-2,33,-2,-20,-3,-47,-3,-78,-3,-96,-3,-103,-3,-107,-3,-96,-3,-79,-3,-53,-3,-17,-3,23,-2,73,-2,-126,-2,-68,-2,3,-1,68,-1,-113,-1,-40,-1,34,0,108,0,-76,0,-7,0,59,1,120,1,-82,1,-31,1,10,2,45,2,71,2,88,2,98,2,96,2,89,2,68,2,45,2,8,2,-32,1,-83,1,119,1,57,1,-8,0,-77,0,111,0,33,0,-34,-1,-114,-1,78,-1,3,-1,-57,-2,-119,-2,84,-2,34,-2,-5,-3,-40,-3,-65,-3,-80,-3,-91,-3,-88,-3,-80,-3,-60,-3,-35,-3,0,-2,41,-2,91,-2,-111,-2,-49,-2,13,-1,83,-1,-103,-1,-30,-1,41,0,114,0,-73,0,-5,0,59,1,116,1,-85,1,-38,1,1,2,35,2,56,2,76,2,81,2,81,2,72,2,50,2,27,2,-9,1,-50,1,-99,1,101,1,43,1,-22,0,-88,0,96,0,26,0,-46,-1,-116,-1,70,-1,6,-1,-58,-2,-115,-2,89,-2,42,-2,3,-2,-28,-3,-52,-3,-68,-3,-73,-3,-75,-3,-59,-3,-47,-3,-14,-3,15,-2,62,-2,106,-2,-93,-2,-35,-2,27,-1,96,-1,-94,-1,-19,-1,46,0,120,0,-71,0,-3,0,56,1,115,1,-93,1,-44,1,-9,1,24,2,45,2,61,2,67,2,63,2,57,2,32,2,11,2,-28,1,-67,1,-115,1,86,1,28,1,-36,0,-100,0,86,0,18,0,-53,-1,-121,-1,68,-1,3,-1,-55,-2,-114,-2,95,-2,48,-2,13,-2,-16,-3,-42,-3,-50,-3,-63,-3,-55,-3,-47,-3,-26,-3,1,-2,34,-2,76,-2,124,-2,-78,-2,-21,-2,43,-1,106,-1,-80,-1,-13,-1,55,0,125,0,-70,0,-1,0,53,1,112,1,-97,1,-54,1,-16,1,12,2,32,2,50,2,49,2,52,2,35,2,20,2,-10,1,-42,1,-86,1,125,1,70,1,16,1,-51,0,-110,0,75,0,10,0,-59,-1,-126,-1,65,-1,4,-1,-55,-2,-108,-2,97,-2,59,-2,19,-2,-5,-3,-29,-3,-39,-3,-46,-3,-41,-3,-30,-3,-10,-3,17,-2,51,-2,93,-2,-118,-2,-61,-2,-9,-2,55,-1,121,-1,-75,-1,-2,-1,60,0,-127,0,-63,0,-3,0,53,1,108,1,-102,1,-62,1,-23,1,-2,1,23,2,34,2,35,2,38,2,17,2,6,2,-28,1,-59,1,-100,1,107,1,58,1,-2,0,-61,0,-124,0,66,0,3,0,-67,-1,-127,-1,60,-1,8,-1,-58,-2,-102,-2,103,-2,65,-2,31,-2,3,-2,-15,-3,-28,-3,-28,-3,-29,-3,-11,-3,3,-2,37,-2,65,-2,112,-2,-104,-2,-47,-2,6,-1,66,-1,-125,-1,-64,-1,4,0,68,0,-124,0,-63,0,-1,0,50,1,106,1,-109,1,-67,1,-35,1,-9,1,9,2,21,2,24,2,18,2}; }
	private static byte[] data13(){ return new byte[] {7,2,-16,1,-39,1,-77,1,-115,1,93,1,41,1,-12,0,-75,0,123,0,55,0,-5,-1,-73,-1,124,-1,59,-1,3,-1,-52,-2,-102,-2,112,-2,70,-2,41,-2,12,-2,0,-2,-17,-3,-14,-3,-14,-3,3,-2,22,-2,49,-2,84,-2,123,-2,-85,-2,-35,-2,21,-1,79,-1,-116,-1,-53,-1,10,0,74,0,-120,0,-62,0,-2,0,50,1,99,1,-111,1,-78,1,-41,1,-22,1,0,2,6,2,9,2,6,2,-12,1,-27,1,-59,1,-91,1,125,1,79,1,27,1,-24,0,-87,0,113,0,47,0,-13,-1,-76,-1,118,-1,59,-1,3,-1,-51,-2,-95,-2,113,-2,81,-2,46,-2,26,-2,7,-2,1,-2,-5,-3,5,-2,15,-2,39,-2,64,-2,99,-2,-117,-2,-73,-2,-19,-2,31,-1,93,-1,-109,-1,-41,-1,15,0,81,0,-117,0,-58,0,-3,0,49,1,94,1,-117,1,-85,1,-50,1,-33,1,-11,1,-8,1,-2,1,-12,1,-23,1,-46,1,-72,1,-106,1,109,1,65,1,13,1,-37,0,-99,0,105,0,37,0,-17,-1,-84,-1,116,-1,58,-1,3,-1,-47,-2,-93,-2,119,-2,90,-2,53,-2,39,-2,17,-2,13,-2,10,-2,18,-2,32,-2,52,-2,81,-2,110,-2,-98,-2,-63,-2,-4,-2,43,-1,101,-1,-95,-1,-38,-1,26,0,82,0,-111,0,-59,0,-2,0,46,1,93,1,-126,1,-88,1,-63,1,-39,1,-26,1,-18,1,-18,1,-24,1,-39,1,-60,1,-87,1,-121,1,96,1,49,1,4,1,-54,0,-104,0,89,0,34,0,-29,-1,-85,-1,110,-1,58,-1,3,-1,-44,-2,-89,-2,126,-2,95,-2,64,-2,48,-2,28,-2,28,-2,20,-2,35,-2,43,-2,69,-2,95,-2,127,-2,-87,-2,-45,-2,6,-1,58,-1,110,-1,-85,-1,-31,-1,32,0,88,0,-111,0,-56,0,-2,0,41,1,90,1,123,1,-94,1,-73,1,-47,1,-40,1,-29,1,-30,1,-40,1,-52,1,-74,1,-103,1,122,1,82,1,36,1,-8,0,-65,0,-116,0,83,0,24,0,-33,-1,-92,-1,110,-1,54,-1,5,-1,-42,-2,-88,-2,-121,-2,98,-2,77,-2,55,-2,42,-2,37,-2,36,-2,46,-2,60,-2,81,-2,109,-2,-113,-2,-76,-2,-30,-2,17,-1,68,-1,122,-1,-77,-1,-22,-1,38,0,93,0,-109,0,-53,0,-8,0,44,1,81,1,122,1,-106,1,-79,1,-59,1,-50,1,-40,1,-46,1,-50,1,-68,1,-88,1,-116,1,106,1,68,1,25,1,-25,0,-70,0,125,0,79,0,12,0,-34,-1,-98,-1,108,-1,55,-1,3,-1,-38,-2,-82,-2,-117,-2,107,-2,85,-2,62,-2,58,-2,44,-2,52,-2,59,-2,72,-2,97,-2,122,-2,-101,-2,-59,-2,-21,-2,31,-1,77,-1,-122,-1,-71,-1,-13,-1,42,0,97,0,-105,0,-54,0,-7,0,42,1,75,1,120,1,-118,1,-83,1,-73,1,-58,1,-54,1,-57,1,-65,1,-79,1,-104,1,127,1,93,1,54,1,14,1,-37,0,-82,0,116,0,68,0,7,0,-42,-1,-100,-1,106,-1,53,-1,7,-1,-37,-2,-78,-2,-111,-2,116,-2,91,-2,76,-2,64,-2,59,-2,64,-2,70,-2,89,-2,107,-2,-117,-2,-88,-2,-48,-2,-6,-2,39,-1,91,-1,-117,-1,-59,-1,-9,-1,48,0,101,0,-106,0,-50,0,-9,0,38,1,73,1,109,1,-119,1,-96,1,-79,1,-72,1,-63,1,-72,1,-75,1,-97,1,-112,1,110,1,83,1,40,1,1,1,-46,0,-94,0,109,0,58,0,4,0,-52,-1,-99,-1,98,-1,57,-1,5,-1,-34,-2,-73,-2,-104,-2,121,-2,103,-2,84,-2,74,-2,73,-2,74,-2,85,-2,101,-2,121,-2,-106,-2,-73,-2,-37,-2,8,-1,49,-1,102,-1,-107,-1,-53,-1,-1,-1,52,0,104,0,-102,0,-53,0,-9,0,34,1,70,1,102,1,-124,1,-109,1,-85,1,-84,1,-75,1,-82,1,-91,1,-107,1,-128,1,99,1,67,1,30,1,-11,0,-57,0,-103,0,100,0,50,0,-2,-1,-54,-1,-107,-1,103,-1,50,-1,12,-1,-35,-2,-65,-2,-104,-2,-122,-2,106,-2,96,-2,85,-2,83,-2,87,-2,97,-2,112,-2,-119,-2,-95,-2,-60,-2,-25,-2,18,-1,61,-1,111,-1,-97,-1,-48,-1,8,0,55,0,109,0,-100,0,-53,0,-10,0,32,1,63,1,99,1,121,1,-113,1,-98,1,-93,1,-86,1,-96,1,-100,1,-122,1,117,1,85,1,57,1,15,1,-21,0,-69,0,-112,0,90,0,44,0,-9,-1,-59,-1,-107,-1,97,-1,55,-1,10,-1,-28,-2,-64,-2,-95,-2,-118,-2,117,-2,105,-2,95,-2,94,-2,100,-2,107,-2,-128,-2,-110,-2,-79,-2,-51,-2,-10,-2,26,-1,73,-1,119,-1,-90,-1,-37,-1,9,0,63,0,108,0,-96,0,-55,0,-10,0,27,1,61,1}; }
	private static byte[] data14(){ return new byte[] {92,1,115,1,-121,1,-109,1,-101,1,-99,1,-105,1,-114,1,122,1,105,1,73,1,44,1,6,1,-34,0,-78,0,-121,0,82,0,37,0,-15,-1,-63,-1,-112,-1,97,-1,55,-1,9,-1,-22,-2,-61,-2,-88,-2,-110,-2,123,-2,116,-2,104,-2,106,-2,111,-2,119,-2,-116,-2,-97,-2,-68,-2,-38,-2,1,-1,36,-1,87,-1,125,-1,-80,-1,-33,-1,15,0,69,0,108,0,-93,0,-56,0,-13,0,25,1,56,1,85,1,109,1,126,1,-119,1,-110,1,-111,1,-117,1,-125,1,110,1,91,1,64,1,29,1,-2,0,-46,0,-86,0,124,0,76,0,30,0,-19,-1,-68,-1,-113,-1,94,-1,56,-1,13,-1,-24,-2,-52,-2,-86,-2,-101,-2,-125,-2,125,-2,114,-2,118,-2,119,-2,-120,-2,-110,-2,-80,-2,-61,-2,-23,-2,10,-1,48,-1,94,-1,-121,-1,-72,-1,-27,-1,24,0,67,0,119,0,-101,0,-50,0,-18,0,23,1,50,1,80,1,101,1,118,1,-126,1,-123,1,-120,1,-128,1,118,1,100,1,79,1,50,1,22,1,-20,0,-50,0,-101,0,119,0,67,0,25,0,-27,-1,-67,-1,-121,-1,100,-1,51,-1,17,-1,-18,-2,-53,-2,-73,-2,-100,-2,-113,-2,-124,-2,125,-2,127,-2,-124,-2,-110,-2,-97,-2,-69,-2,-50,-2,-12,-2,20,-1,59,-1,103,-1,-114,-1,-64,-1,-20,-1,25,0,76,0,115,0,-95,0,-52,0,-20,0,21,1,46,1,73,1,95,1,109,1,121,1,125,1,123,1,119,1,105,1,91,1,64,1,43,1,6,1,-24,0,-66,0,-104,0,105,0,65,0,13,0,-26,-1,-77,-1,-117,-1,94,-1,55,-1,19,-1,-18,-2,-42,-2,-73,-2,-89,-2,-107,-2,-115,-2,-121,-2,-118,-2,-113,-2,-101,-2,-82,-2,-63,-2,-32,-2,-6,-2,35,-1,65,-1,113,-1,-105,-1,-58,-1,-15,-1,32,0,75,0,120,0,-95,0,-54,0,-20,0,15,1,43,1,66,1,89,1,101,1,111,1,117,1,112,1,109,1,93,1,79,1,56,1,28,1,1,1,-40,0,-71,0,-116,0,101,0,54,0,12,0,-35,-1,-75,-1,-124,-1,97,-1,53,-1,21,-1,-12,-2,-42,-2,-63,-2,-85,-2,-97,-2,-107,-2,-111,-2,-108,-2,-103,-2,-89,-2,-72,-2,-51,-2,-23,-2,7,-1,41,-1,79,-1,118,-1,-94,-1,-55,-1,-4,-1,31,0,84,0,116,0,-90,0,-60,0,-17,0,8,1,39,1,62,1,79,1,97,1,99,1,110,1,100,1,99,1,84,1,66,1,47,1,15,1,-11,0,-45,0,-85,0,-119,0,88,0,53,0,1,0,-33,-1,-84,-1,-120,-1,93,-1,55,-1,25,-1,-12,-2,-34,-2,-60,-2,-77,-2,-89,-2,-100,-2,-99,-2,-101,-2,-90,-2,-81,-2,-60,-2,-40,-2,-13,-2,17,-1,50,-1,89,-1,126,-1,-88,-1,-46,-1,-4,-1,42,0,81,0,123,0,-92,0,-60,0,-19,0,3,1,37,1,53,1,75,1,86,1,94,1,97,1,92,1,90,1,70,1,60,1,32,1,8,1,-21,0,-57,0,-91,0,124,0,86,0,41,0,3,0,-43,-1,-83,-1,-123,-1,92,-1,61,-1,20,-1,0,-1,-37,-2,-49,-2,-73,-2,-80,-2,-91,-2,-92,-2,-89,-2,-82,-2,-68,-2,-51,-2,-30,-2,-1,-2,26,-1,61,-1,95,-1,-121,-1,-81,-1,-41,-1,4,0,42,0,85,0,124,0,-93,0,-58,0,-26,0,4,1,29,1,50,1,67,1,78,1,86,1,87,1,85,1,76,1,64,1,46,1,23,1,-1,0,-33,0,-63,0,-102,0,118,0,78,0,35,0,-2,-1,-48,-1,-83,-1,-128,-1,94,-1,60,-1,23,-1,3,-1,-30,-2,-44,-2,-66,-2,-73,-2,-84,-2,-80,-2,-82,-2,-70,-2,-59,-2,-42,-2,-17,-2,6,-1,37,-1,69,-1,106,-1,-115,-1,-71,-1,-37,-1,7,0,48,0,86,0,127,0,-95,0,-59,0,-28,0,0,1,25,1,43,1,61,1,71,1,77,1,79,1,75,1,66,1,54,1,35,1,15,1,-12,0,-41,0,-74,0,-109,0,111,0,70,0,32,0,-9,-1,-49,-1,-88,-1,-127,-1,94,-1,59,-1,31,-1,-1,-2,-19,-2,-44,-2,-56,-2,-66,-2,-76,-2,-71,-2,-73,-2,-61,-2,-49,-2,-30,-2,-10,-2,18,-1,44,-1,79,-1,112,-1,-105,-1,-68,-1,-29,-1,13,0,48,0,92,0,125,0,-92,0,-62,0,-29,0,-6,0,22,1,35,1,56,1,63,1,68,1,72,1,63,1,59,1,42,1,27,1,4,1,-21,0,-51,0,-82,0,-118,0,103,0,66,0,25,0,-13,-1,-50,-1,-94,-1,-124,-1,91,-1,63,-1,31,-1,7,-1,-19,-2,-35,-2,-50,-2,-61,-2,-64,-2,-65,-2,-62,-2,-52,-2,-38,-2,-24,-2,4,-1,23,-1,56,-1,86,-1,121,-1,-100,-1,-61,-1,-24,-1,16,0}; }
	private static byte[] data15(){ return new byte[] {53,0,93,0,126,0,-92,0,-64,0,-31,0,-9,0,16,1,33,1,46,1,57,1,60,1,62,1,57,1,46,1,37,1,13,1,-1,0,-34,0,-57,0,-92,0,-124,0,96,0,58,0,21,0,-18,-1,-56,-1,-92,-1,-128,-1,94,-1,64,-1,33,-1,11,-1,-14,-2,-29,-2,-45,-2,-51,-2,-58,-2,-55,-2,-54,-2,-42,-2,-32,-2,-8,-2,6,-1,39,-1,61,-1,96,-1,-128,-1,-92,-1,-57,-1,-17,-1,18,0,59,0,90,0,-125,0,-95,0,-65,0,-32,0,-15,0,13,1,26,1,41,1,48,1,55,1,51,1,49,1,37,1,26,1,6,1,-12,0,-42,0,-66,0,-99,0,123,0,91,0,51,0,17,0,-22,-1,-58,-1,-94,-1,126,-1,96,-1,63,-1,37,-1,14,-1,-10,-2,-23,-2,-37,-2,-47,-2,-46,-2,-52,-2,-41,-2,-36,-2,-19,-2,-3,-2,20,-1,42,-1,74,-1,101,-1,-120,-1,-85,-1,-51,-1,-13,-1,25,0,58,0,96,0,-128,0,-94,0,-66,0,-37,0,-17,0,7,1,21,1,34,1,42,1,45,1,44,1,41,1,27,1,17,1,-2,0,-24,0,-47,0,-77,0,-106,0,116,0,85,0,45,0,14,0,-27,-1,-59,-1,-98,-1,-127,-1,93,-1,68,-1,38,-1,17,-1,-2,-2,-22,-2,-26,-2,-43,-2,-39,-2,-41,-2,-34,-2,-27,-2,-8,-2,2,-1,30,-1,52,-1,79,-1,112,-1,-115,-1,-79,-1,-45,-1,-9,-1,27,0,63,0,96,0,-127,0,-93,0,-71,0,-35,0,-24,0,5,1,13,1,29,1,34,1,39,1,35,1,31,1,22,1,4,1,-7,0,-35,0,-55,0,-84,0,-115,0,110,0,77,0,42,0,6,0,-29,-1,-62,-1,-99,-1,-127,-1,94,-1,69,-1,41,-1,23,-1,-3,-2,-8,-2,-30,-2,-26,-2,-39,-2,-27,-2,-32,-2,-13,-2,-4,-2,15,-1,38,-1,59,-1,88,-1,118,-1,-108,-1,-72,-1,-42,-1,-1,-1,27,0,66,0,97,0,-125,0,-97,0,-68,0,-44,0,-22,0,-4,0,11,1,20,1,30,1,29,1,29,1,22,1,11,1,1,1,-21,0,-40,0,-64,0,-92,0,-123,0,108,0,65,0,42,0,-2,-1,-29,-1,-67,-1,-98,-1,124,-1,98,-1,69,-1,46,-1,23,-1,7,-1,-8,-2,-18,-2,-24,-2,-28,-2,-23,-2,-18,-2,-9,-2,6,-1,24,-1,44,-1,69,-1,96,-1,124,-1,-99,-1,-68,-1,-35,-1,0,0,33,0,67,0,99,0,-127,0,-95,0,-73,0,-44,0,-29,0,-6,0,4,1,16,1,20,1,23,1,21,1,13,1,5,1,-11,0,-27,0,-49,0,-73,0,-99,0,-127,0,96,0,66,0,32,0,-2,-1,-33,-1,-71,-1,-96,-1,122,-1,100,-1,71,-1,47,-1,28,-1,11,-1,-4,-2,-10,-2,-18,-2,-21,-2,-14,-2,-13,-2,3,-1,12,-1,33,-1,52,-1,76,-1,104,-1,-125,-1,-95,-1,-59,-1,-35,-1,10,0,30,0,75,0,96,0,-123,0,-99,0,-72,0,-49,0,-31,0,-11,0,-4,0,14,1,10,1,18,1,12,1,6,1,-4,0,-18,0,-36,0,-56,0,-82,0,-104,0,118,0,93,0,59,0,26,0,-3,-1,-39,-1,-70,-1,-99,-1,124,-1,101,-1,70,-1,54,-1,30,-1,15,-1,5,-1,-9,-2,-8,-2,-14,-2,-9,-2,-2,-2,9,-1,21,-1,41,-1,58,-1,86,-1,110,-1,-119,-1,-88,-1,-57,-1,-25,-1,8,0,38,0,71,0,102,0,-127,0,-98,0,-75,0,-52,0,-33,0,-17,0,-8,0,6,1,5,1,10,1,6,1,-4,0,-9,0,-29,0,-41,0,-66,0,-87,0,-114,0,115,0,85,0,54,0,23,0,-9,-1,-40,-1,-73,-1,-101,-1,125,-1,101,-1,75,-1,54,-1,35,-1,20,-1,9,-1,-1,-2,-3,-2,-7,-2,0,-1,5,-1,15,-1,32,-1,46,-1,69,-1,91,-1,117,-1,-111,-1,-83,-1,-50,-1,-24,-1,14,0,38,0,75,0,100,0,-124,0,-102,0,-75,0,-57,0,-36,0,-23,0,-10,0,-3,0,0,1,3,1,-4,0,-6,0,-23,0,-31,0,-53,0,-72,0,-93,0,-122,0,110,0,79,0,49,0,18,0,-11,-1,-45,-1,-71,-1,-104,-1,126,-1,102,-1,75,-1,59,-1,36,-1,28,-1,11,-1,8,-1,1,-1,1,-1,8,-1,11,-1,24,-1,39,-1,53,-1,78,-1,95,-1,-128,-1,-110,-1,-72,-1,-50,-1,-16,-1,15,0,43,0,77,0,100,0,-125,0,-103,0,-77,0,-59,0,-40,0,-28,0,-16,0,-8,0,-6,0,-5,0,-9,0,-17,0,-28,0,-40,0,-61,0,-76,0,-105,0,-125,0,100,0,76,0,44,0,15,0,-16,-1,-45,-1,-75,-1,-103,-1,127,-1,102,-1,79,-1,60,-1,42,-1,30,-1,19,-1,11,-1,9,-1,8,-1,12,-1,22,-1,30,-1,45,-1,63,-1,81,-1}; }
	private static byte[] data16(){ return new byte[] {107,-1,-128,-1,-98,-1,-72,-1,-42,-1,-13,-1,18,0,45,0,78,0,101,0,-125,0,-104,0,-79,0,-62,0,-44,0,-32,0,-21,0,-16,0,-9,0,-15,0,-13,0,-27,0,-32,0,-50,0,-66,0,-85,0,-112,0,-128,0,91,0,74,0,36,0,12,0,-19,-1,-48,-1,-77,-1,-101,-1,124,-1,106,-1,80,-1,63,-1,47,-1,33,-1,24,-1,18,-1,13,-1,18,-1,17,-1,29,-1,37,-1,53,-1,70,-1,90,-1,110,-1,-117,-1,-96,-1,-65,-1,-39,-1,-8,-1,18,0,52,0,74,0,105,0,-128,0,-103,0,-84,0,-62,0,-51,0,-34,0,-27,0,-21,0,-16,0,-20,0,-23,0,-30,0,-43,0,-55,0,-72,0,-96,0,-111,0,113,0,94,0,62,0,36,0,7,0,-21,-1,-50,-1,-78,-1,-104,-1,127,-1,105,-1,84,-1,65,-1,50,-1,39,-1,28,-1,23,-1,22,-1,21,-1,26,-1,36,-1,43,-1,62,-1,75,-1,97,-1,118,-1,-114,-1,-87,-1,-62,-1,-34,-1,-3,-1,20,0,53,0,77,0,103,0,-126,0,-108,0,-82,0,-70,0,-49,0,-43,0,-30,0,-27,0,-23,0,-25,0,-30,0,-37,0,-50,0,-62,0,-81,0,-99,0,-121,0,110,0,87,0,57,0,34,0,1,0,-22,-1,-53,-1,-78,-1,-104,-1,-128,-1,106,-1,86,-1,68,-1,54,-1,44,-1,32,-1,30,-1,26,-1,27,-1,36,-1,38,-1,54,-1,66,-1,83,-1,103,-1,124,-1,-108,-1,-82,-1,-57,-1,-30,-1,-2,-1,26,0,53,0,79,0,103,0,-126,0,-108,0,-87,0,-71,0,-55,0,-46,0,-34,0,-33,0,-31,0,-29,0,-38,0,-44,0,-54,0,-73,0,-83,0,-109,0,-126,0,105,0,79,0,57,0,25,0,1,0,-26,-1,-54,-1,-79,-1,-104,-1,-128,-1,109,-1,87,-1,73,-1,55,-1,50,-1,37,-1,35,-1,33,-1,33,-1,40,-1,48,-1,60,-1,72,-1,91,-1,108,-1,-125,-1,-103,-1,-77,-1,-54,-1,-23,-1,-2,-1,32,0,50,0,83,0,102,0,-127,0,-109,0,-89,0,-74,0,-59,0,-49,0,-41,0,-38,0,-35,0,-37,0,-44,0,-49,0,-65,0,-74,0,-95,0,-110,0,120,0,103,0,72,0,52,0,23,0,-3,-1,-28,-1,-57,-1,-80,-1,-104,-1,-127,-1,110,-1,90,-1,74,-1,63,-1,50,-1,44,-1,41,-1,36,-1,43,-1,45,-1,54,-1,67,-1,77,-1,99,-1,113,-1,-117,-1,-100,-1,-70,-1,-50,-1,-19,-1,1,0,33,0,53,0,84,0,101,0,-127,0,-112,0,-90,0,-77,0,-64,0,-51,0,-48,0,-41,0,-42,0,-44,0,-49,0,-56,0,-71,0,-81,0,-100,0,-119,0,118,0,95,0,70,0,45,0,22,0,-9,-1,-28,-1,-59,-1,-79,-1,-107,-1,-123,-1,107,-1,97,-1,74,-1,69,-1,50,-1,55,-1,38,-1,51,-1,42,-1,54,-1,61,-1,69,-1,90,-1,99,-1,124,-1,-116,-1,-92,-1,-67,-1,-45,-1,-16,-1,6,0,32,0,58,0,81,0,106,0,123,0,-110,0,-95,0,-79,0,-66,0,-60,0,-49,0,-48,0,-47,0,-49,0,-56,0,-64,0,-74,0,-89,0,-107,0,-122,0,109,0,92,0,63,0,45,0,12,0,-3,-1,-38,-1,-54,-1,-85,-1,-103,-1,-124,-1,111,-1,96,-1,80,-1,68,-1,61,-1,53,-1,50,-1,50,-1,51,-1,60,-1,66,-1,79,-1,91,-1,108,-1,-128,-1,-109,-1,-87,-1,-63,-1,-41,-1,-14,-1,9,0,36,0,58,0,82,0,104,0,124,0,-112,0,-97,0,-82,0,-70,0,-64,0,-52,0,-56,0,-51,0,-55,0,-62,0,-69,0,-81,0,-97,0,-109,0,124,0,108,0,84,0,60,0,39,0,12,0,-11,-1,-35,-1,-61,-1,-79,-1,-107,-1,-121,-1,111,-1,99,-1,84,-1,73,-1,62,-1,59,-1,56,-1,53,-1,61,-1,62,-1,73,-1,86,-1,95,-1,118,-1,-126,-1,-102,-1,-82,-1,-61,-1,-33,-1,-14,-1,14,0,35,0,61,0,82,0,103,0,124,0,-115,0,-98,0,-86,0,-73,0,-67,0,-60,0,-58,0,-57,0,-61,0,-68,0,-75,0,-88,0,-100,0,-116,0,117,0,105,0,77,0,59,0,32,0,12,0,-16,-1,-35,-1,-62,-1,-82,-1,-104,-1,-123,-1,116,-1,99,-1,87,-1,77,-1,67,-1,63,-1,61,-1,59,-1,65,-1,69,-1,80,-1,88,-1,107,-1,117,-1,-118,-1,-96,-1,-81,-1,-51,-1,-36,-1,-4,-1,10,0,43,0,57,0,86,0,101,0,124,0,-118,0,-100,0,-89,0,-78,0,-69,0,-67,0,-60,0,-66,0,-65,0,-73,0,-83,0,-91,0,-109,0,-120,0,113,0,97,0,75,0,52,0,33,0,4,0,-13,-1,-42,-1,-58,-1,-87,-1,-100,-1,-123,-1,116,-1,105,-1,87,-1,81,-1,72,-1,67,-1,65,-1}; }
	private static byte[] data17(){ return new byte[] {66,-1,69,-1,76,-1,84,-1,96,-1,110,-1,125,-1,-113,-1,-93,-1,-74,-1,-50,-1,-28,-1,-8,-1,21,0,36,0,65,0,81,0,105,0,120,0,-117,0,-105,0,-90,0,-82,0,-73,0,-71,0,-67,0,-68,0,-73,0,-78,0,-86,0,-102,0,-107,0,122,0,115,0,88,0,73,0,47,0,29,0,1,0,-15,-1,-43,-1,-61,-1,-83,-1,-104,-1,-119,-1,117,-1,106,-1,92,-1,84,-1,76,-1,71,-1,71,-1,70,-1,75,-1,83,-1,87,-1,104,-1,114,-1,-126,-1,-105,-1,-93,-1,-66,-1,-48,-1,-26,-1,-2,-1,18,0,43,0,62,0,84,0,101,0,121,0,-119,0,-108,0,-92,0,-86,0,-78,0,-74,0,-72,0,-75,0,-74,0,-89,0,-87,0,-109,0,-115,0,123,0,102,0,92,0,61,0,49,0,22,0,1,0,-19,-1,-43,-1,-64,-1,-82,-1,-105,-1,-116,-1,118,-1,109,-1,94,-1,88,-1,79,-1,78,-1,74,-1,75,-1,82,-1,85,-1,96,-1,107,-1,120,-1,-121,-1,-100,-1,-88,-1,-61,-1,-47,-1,-19,-1,-3,-1,24,0,40,0,66,0,81,0,104,0,117,0,-119,0,-112,0,-94,0,-90,0,-82,0,-78,0,-77,0,-81,0,-78,0,-93,0,-97,0,-109,0,-125,0,120,0,99,0,83,0,63,0,40,0,23,0,-4,-1,-20,-1,-44,-1,-65,-1,-82,-1,-103,-1,-118,-1,123,-1,109,-1,98,-1,92,-1,81,-1,84,-1,76,-1,84,-1,83,-1,94,-1,99,-1,113,-1,125,-1,-115,-1,-98,-1,-80,-1,-60,-1,-40,-1,-19,-1,2,0,23,0,45,0,65,0,83,0,101,0,118,0,-124,0,-110,0,-100,0,-94,0,-83,0,-86,0,-79,0,-85,0,-87,0,-95,0,-102,0,-116,0,-127,0,112,0,96,0,77,0,60,0,37,0,18,0,-3,-1,-25,-1,-45,-1,-63,-1,-85,-1,-100,-1,-117,-1,123,-1,113,-1,103,-1,90,-1,92,-1,80,-1,88,-1,85,-1,90,-1,96,-1,107,-1,116,-1,-123,-1,-113,-1,-92,-1,-77,-1,-57,-1,-34,-1,-19,-1,6,0,26,0,42,0,70,0,79,0,103,0,116,0,-126,0,-111,0,-105,0,-94,0,-92,0,-85,0,-87,0,-88,0,-92,0,-101,0,-108,0,-119,0,122,0,109,0,90,0,75,0,54,0,35,0,15,0,-7,-1,-25,-1,-46,-1,-67,-1,-80,-1,-104,-1,-113,-1,125,-1,114,-1,106,-1,96,-1,92,-1,90,-1,86,-1,93,-1,94,-1,103,-1,110,-1,124,-1,-123,-1,-103,-1,-91,-1,-71,-1,-51,-1,-37,-1,-9,-1,3,0,29,0,45,0,66,0,83,0,101,0,114,0,-127,0,-115,0,-107,0,-97,0,-95,0,-92,0,-88,0,-96,0,-94,0,-108,0,-112,0,-124,0,117,0,106,0,84,0,72,0,50,0,32,0,11,0,-6,-1,-30,-1,-44,-1,-69,-1,-81,-1,-102,-1,-111,-1,123,-1,122,-1,103,-1,104,-1,94,-1,93,-1,93,-1,96,-1,99,-1,108,-1,115,-1,-128,-1,-116,-1,-102,-1,-84,-1,-68,-1,-49,-1,-30,-1,-10,-1,8,0,29,0,48,0,64,0,86,0,96,0,117,0,124,0,-116,0,-110,0,-102,0,-96,0,-97,0,-94,0,-99,0,-101,0,-109,0,-119,0,127,0,113,0,97,0,87,0,61,0,52,0,26,0,9,0,-9,-1,-29,-1,-48,-1,-66,-1,-83,-1,-100,-1,-111,-1,-128,-1,120,-1,111,-1,103,-1,100,-1,96,-1,98,-1,100,-1,105,-1,111,-1,122,-1,-127,-1,-109,-1,-97,-1,-82,-1,-61,-1,-49,-1,-25,-1,-10,-1,13,0,29,0,50,0,64,0,85,0,97,0,113,0,126,0,-122,0,-110,0,-107,0,-99,0,-103,0,-95,0,-106,0,-103,0,-117,0,-121,0,120,0,110,0,95,0,78,0,62,0,45,0,24,0,8,0,-12,-1,-32,-1,-47,-1,-68,-1,-81,-1,-99,-1,-111,-1,-124,-1,120,-1,116,-1,104,-1,106,-1,100,-1,100,-1,108,-1,105,-1,120,-1,123,-1,-118,-1,-108,-1,-91,-1,-78,-1,-59,-1,-43,-1,-25,-1,-6,-1,14,0,30,0,51,0,65,0,83,0,98,0,110,0,124,0,-122,0,-117,0,-105,0,-109,0,-100,0,-105,0,-107,0,-110,0,-120,0,-126,0,115,0,108,0,87,0,78,0,57,0,40,0,24,0,4,0,-13,-1,-32,-1,-51,-1,-66,-1,-82,-1,-98,-1,-109,-1,-124,-1,125,-1,116,-1,110,-1,108,-1,103,-1,108,-1,106,-1,116,-1,119,-1,-125,-1,-115,-1,-104,-1,-87,-1,-74,-1,-56,-1,-39,-1,-22,-1,-3,-1,14,0,33,0,49,0,69,0,80,0,98,0,109,0,122,0,-126,0,-117,0,-112,0,-108,0,-108,0,-106,0,-113,0,-114,0,-124,0,123,0,114,0,100,0,86,0,72,0,54,0,38,0,21,0,1,0,-14,-1,-35,-1,-49,-1,-67,-1,-82,-1,-97,-1}; }
	private static byte[] data18(){ return new byte[] {-108,-1,-122,-1,-127,-1,117,-1,114,-1,111,-1,107,-1,112,-1,112,-1,118,-1,126,-1,-124,-1,-108,-1,-99,-1,-85,-1,-68,-1,-56,-1,-33,-1,-21,-1,-1,-1,17,0,33,0,53,0,64,0,83,0,96,0,107,0,122,0,125,0,-118,0,-117,0,-110,0,-113,0,-110,0,-117,0,-119,0,-128,0,119,0,111,0,93,0,86,0,63,0,55,0,34,0,16,0,4,0,-22,-1,-30,-1,-54,-1,-65,-1,-81,-1,-98,-1,-105,-1,-121,-1,-124,-1,120,-1,117,-1,114,-1,112,-1,115,-1,117,-1,121,-1,-124,-1,-120,-1,-104,-1,-96,-1,-79,-1,-68,-1,-48,-1,-35,-1,-15,-1,1,0,15,0,39,0,47,0,71,0,78,0,97,0,105,0,120,0,124,0,-122,0,-120,0,-114,0,-115,0,-115,0,-120,0,-124,0,124,0,115,0,106,0,90,0,80,0,64,0,48,0,33,0,13,0,0,0,-20,-1,-35,-1,-51,-1,-68,-1,-80,-1,-96,-1,-105,-1,-117,-1,-124,-1,124,-1,120,-1,118,-1,114,-1,122,-1,116,-1,-125,-1,-125,-1,-112,-1,-102,-1,-91,-1,-77,-1,-61,-1,-49,-1,-28,-1,-16,-1,5,0,16,0,40,0,47,0,71,0,78,0,96,0,104,0,116,0,123,0,-126,0,-120,0,-120,0,-118,0,-120,0,-123,0,127,0,121,0,110,0,102,0,86,0,77,0,61,0,43,0,33,0,9,0,-2,-1,-20,-1,-37,-1,-51,-1,-67,-1,-82,-1,-92,-1,-106,-1,-114,-1,-122,-1,126,-1,125,-1,119,-1,120,-1,122,-1,125,-1,-125,-1,-118,-1,-110,-1,-98,-1,-86,-1,-74,-1,-58,-1,-45,-1,-27,-1,-12,-1,4,0,23,0,34,0,56,0,62,0,85,0,89,0,107,0,112,0,120,0,-127,0,-125,0,-123,0,-120,0,-126,0,-125,0,121,0,119,0,104,0,100,0,81,0,74,0,56,0,43,0,26,0,12,0,-7,-1,-20,-1,-38,-1,-53,-1,-65,-1,-82,-1,-91,-1,-103,-1,-114,-1,-118,-1,-128,-1,-128,-1,122,-1,125,-1,124,-1,-125,-1,-122,-1,-115,-1,-104,-1,-97,-1,-80,-1,-72,-1,-55,-1,-40,-1,-28,-1,-6,-1,3,0,24,0,37,0,53,0,67,0,79,0,93,0,101,0,113,0,119,0,122,0,-124,0,-128,0,-125,0,-125,0,120,0,124,0,109,0,106,0,91,0,81,0,68,0,55,0,38,0,26,0,6,0,-4,-1,-26,-1,-36,-1,-55,-1,-63,-1,-82,-1,-90,-1,-103,-1,-109,-1,-118,-1,-123,-1,-128,-1,127,-1,-128,-1,-126,-1,-125,-1,-116,-1,-113,-1,-98,-1,-93,-1,-77,-1,-68,-1,-53,-1,-37,-1,-23,-1,-8,-1,9,0,23,0,38,0,54,0,65,0,80,0,90,0,103,0,107,0,119,0,120,0,126,0,-128,0,127,0,123,0,125,0,112,0,111,0,98,0,89,0,79,0,63,0,53,0,35,0,22,0,8,0,-11,-1,-22,-1,-40,-1,-53,-1,-66,-1,-79,-1,-90,-1,-101,-1,-108,-1,-116,-1,-120,-1,-124,-1,-126,-1,-125,-1,-125,-1,-116,-1,-117,-1,-103,-1,-101,-1,-86,-1,-75,-1,-64,-1,-48,-1,-38,-1,-19,-1,-6,-1,10,0,26,0,36,0,57,0,61,0,83,0,88,0,100,0,107,0,115,0,118,0,123,0,126,0,120,0,126,0,113,0,115,0,104,0,95,0,86,0,73,0,63,0,47,0,36,0,17,0,7,0,-12,-1,-24,-1,-40,-1,-52,-1,-68,-1,-77,-1,-89,-1,-99,-1,-106,-1,-114,-1,-117,-1,-122,-1,-122,-1,-123,-1,-118,-1,-117,-1,-109,-1,-104,-1,-94,-1,-82,-1,-76,-1,-55,-1,-51,-1,-30,-1,-20,-1,-3,-1,12,0,24,0,42,0,50,0,70,0,74,0,93,0,93,0,110,0,108,0,120,0,118,0,122,0,118,0,121,0,112,0,110,0,100,0,92,0,82,0,72,0,57,0,47,0,30,0,18,0,2,0,-11,-1,-27,-1,-39,-1,-54,-1,-66,-1,-77,-1,-88,-1,-98,-1,-103,-1,-113,-1,-113,-1,-121,-1,-116,-1,-122,-1,-114,-1,-112,-1,-109,-1,-96,-1,-92,-1,-81,-1,-67,-1,-60,-1,-41,-1,-33,-1,-14,-1,-4,-1,15,0,25,0,40,0,55,0,64,0,78,0,88,0,95,0,105,0,108,0,116,0,115,0,120,0,115,0,116,0,109,0,107,0,94,0,93,0,75,0,70,0,54,0,44,0,28,0,15,0,2,0,-15,-1,-24,-1,-44,-1,-52,-1,-65,-1,-79,-1,-83,-1,-100,-1,-99,-1,-111,-1,-112,-1,-114,-1,-120,-1,-111,-1,-116,-1,-108,-1,-102,-1,-97,-1,-86,-1,-78,-1,-66,-1,-54,-1,-40,-1,-30,-1,-13,-1,-1,-1,14,0,29,0,38,0,55,0,65,0,77,0,86,0,95,0,101,0,108,0,112,0,113,0,116,0,113,0,112,0,106,0,102,0,93,0,86,0,76,0,64,0,53,0,39,0,28,0,13,0}; }
	private static byte[] data19(){ return new byte[] {0,0,-16,-1,-27,-1,-41,-1,-54,-1,-63,-1,-80,-1,-82,-1,-97,-1,-99,-1,-107,-1,-110,-1,-114,-1,-111,-1,-115,-1,-108,-1,-105,-1,-101,-1,-90,-1,-86,-1,-73,-1,-63,-1,-52,-1,-38,-1,-26,-1,-11,-1,0,0,16,0,27,0,43,0,52,0,68,0,72,0,88,0,91,0,101,0,105,0,109,0,111,0,112,0,111,0,107,0,105,0,97,0,91,0,82,0,73,0,60,0,51,0,37,0,24,0,13,0,-4,-1,-15,-1,-29,-1,-40,-1,-56,-1,-62,-1,-78,-1,-82,-1,-94,-1,-98,-1,-105,-1,-108,-1,-109,-1,-111,-1,-109,-1,-105,-1,-105,-1,-94,-1,-89,-1,-82,-1,-69,-1,-62,-1,-48,-1,-36,-1,-24,-1,-10,-1,3,0,15,0,31,0,40,0,55,0,63,0,76,0,83,0,93,0,97,0,104,0,105,0,110,0,107,0,110,0,103,0,102,0,93,0,88,0,79,0,70,0,57,0,50,0,31,0,26,0,7,0,-2,-1,-18,-1,-29,-1,-43,-1,-52,-1,-65,-1,-75,-1,-82,-1,-93,-1,-94,-1,-105,-1,-104,-1,-107,-1,-108,-1,-106,-1,-103,-1,-100,-1,-91,-1,-88,-1,-74,-1,-72,-1,-53,-1,-50,-1,-30,-1,-25,-1,-5,-1,1,0,20,0,27,0,45,0,51,0,66,0,72,0,84,0,89,0,98,0,99,0,105,0,105,0,107,0,105,0,100,0,98,0,91,0,86,0,74,0,69,0,52,0,49,0,29,0,24,0,5,0,-4,-1,-17,-1,-33,-1,-38,-1,-57,-1,-62,-1,-74,-1,-83,-1,-88,-1,-97,-1,-98,-1,-104,-1,-104,-1,-105,-1,-103,-1,-100,-1,-95,-1,-91,-1,-82,-1,-75,-1,-64,-1,-54,-1,-45,-1,-30,-1,-21,-1,-5,-1,5,0,18,0,31,0,43,0,51,0,67,0,69,0,85,0,87,0,94,0,100,0,100,0,105,0,102,0,102,0,99,0,93,0,90,0,79,0,75,0,61,0,55,0,41,0,31,0,18,0,6,0,-6,-1,-19,-1,-31,-1,-41,-1,-56,-1,-60,-1,-76,-1,-78,-1,-89,-1,-94,-1,-96,-1,-103,-1,-100,-1,-102,-1,-101,-1,-96,-1,-93,-1,-88,-1,-77,-1,-74,-1,-60,-1,-54,-1,-39,-1,-31,-1,-15,-1,-8,-1,9,0,18,0,33,0,40,0,55,0,62,0,73,0,81,0,86,0,92,0,98,0,98,0,101,0,101,0,98,0,96,0,91,0,85,0,79,0,69,0,62,0,49,0,40,0,29,0,16,0,5,0,-9,-1,-19,-1,-32,-1,-42,-1,-52,-1,-65,-1,-70,-1,-80,-1,-87,-1,-91,-1,-94,-1,-101,-1,-96,-1,-102,-1,-97,-1,-91,-1,-94,-1,-80,-1,-79,-1,-69,-1,-55,-1,-56,-1,-32,-1,-33,-1,-12,-1,-5,-1,9,0,19,0,32,0,42,0,54,0,62,0,73,0,75,0,91,0,85,0,99,0,94,0,100,0,97,0,96,0,93,0,88,0,82,0,77,0,64,0,62,0,45,0,39,0,26,0,14,0,4,0,-10,-1,-20,-1,-31,-1,-45,-1,-51,-1,-64,-1,-70,-1,-78,-1,-85,-1,-91,-1,-92,-1,-96,-1,-97,-1,-96,-1,-95,-1,-91,-1,-88,-1,-79,-1,-76,-1,-63,-1,-59,-1,-46,-1,-37,-1,-24,-1,-16,-1,1,0,7,0,22,0,31,0,43,0,53,0,63,0,68,0,80,0,82,0,90,0,92,0,95,0,95,0,96,0,92,0,90,0,86,0,79,0,73,0,63,0,57,0,44,0,37,0,23,0,14,0,1,0,-9,-1,-23,-1,-31,-1,-43,-1,-54,-1,-58,-1,-75,-1,-72,-1,-88,-1,-84,-1,-94,-1,-92,-1,-95,-1,-94,-1,-91,-1,-89,-1,-84,-1,-78,-1,-71,-1,-63,-1,-54,-1,-45,-1,-34,-1,-23,-1,-13,-1,0,0,11,0,20,0,35,0,39,0,57,0,58,0,72,0,75,0,82,0,89,0,88,0,94,0,92,0,93,0,92,0,84,0,86,0,73,0,73,0,60,0,53,0,44,0,33,0,21,0,13,0,-1,-1,-10,-1,-22,-1,-34,-1,-42,-1,-52,-1,-62,-1,-68,-1,-77,-1,-81,-1,-86,-1,-90,-1,-90,-1,-94,-1,-88,-1,-92,-1,-83,-1,-84,-1,-72,-1,-71,-1,-59,-1,-52,-1,-43,-1,-31,-1,-22,-1,-11,-1,1,0,12,0,21,0,34,0,43,0,51,0,63,0,67,0,76,0,81,0,84,0,90,0,90,0,90,0,91,0,86,0,86,0,80,0,73,0,68,0,58,0,51,0,42,0,29,0,24,0,5,0,4,0,-16,-1,-21,-1,-33,-1,-44,-1,-51,-1,-61,-1,-68,-1,-75,-1,-80,-1,-84,-1,-89,-1,-86,-1,-93,-1,-86,-1,-87,-1,-85,-1,-75,-1,-77,-1,-61,-1,-61,-1,-48,-1,-40,-1,-31,-1,-18,-1,-10,-1,3,0,11,0,24,0,32,0,44,0,52,0,60,0,67,0,75,0,78,0,85,0,85,0,89,0,88,0,88,0,83,0,85,0,73,0,75,0}; }
	private static byte[] data20(){ return new byte[] {62,0,58,0,48,0,38,0,29,0,20,0,7,0,-1,-1,-14,-1,-24,-1,-31,-1,-46,-1,-48,-1,-64,-1,-64,-1,-75,-1,-78,-1,-83,-1,-84,-1,-90,-1,-83,-1,-90,-1,-82,-1,-81,-1,-76,-1,-70,-1,-62,-1,-57,-1,-47,-1,-36,-1,-32,-1,-12,-1,-14,-1,9,0,8,0,29,0,29,0,46,0,50,0,60,0,67,0,72,0,79,0,81,0,84,0,86,0,87,0,84,0,83,0,79,0,74,0,70,0,61,0,54,0,46,0,38,0,25,0,20,0,4,0,-1,-1,-15,-1,-25,-1,-31,-1,-46,-1,-48,-1,-61,-1,-67,-1,-71,-1,-77,-1,-81,-1,-84,-1,-84,-1,-85,-1,-84,-1,-80,-1,-81,-1,-70,-1,-69,-1,-61,-1,-52,-1,-46,-1,-36,-1,-24,-1,-20,-1,-3,-1,3,0,13,0,28,0,28,0,47,0,50,0,58,0,69,0,67,0,80,0,78,0,83,0,85,0,82,0,84,0,80,0,75,0,75,0,64,0,60,0,53,0,42,0,36,0,25,0,15,0,5,0,-3,-1,-17,-1,-21,-1,-37,-1,-42,-1,-50,-1,-59,-1,-65,-1,-71,-1,-76,-1,-78,-1,-83,-1,-81,-1,-84,-1,-81,-1,-78,-1,-77,-1,-69,-1,-66,-1,-59,-1,-49,-1,-44,-1,-33,-1,-24,-1,-17,-1,-2,-1,3,0,16,0,25,0,33,0,42,0,53,0,55,0,68,0,68,0,76,0,78,0,80,0,82,0,81,0,81,0,77,0,75,0,68,0,65,0,57,0,50,0,41,0,33,0,23,0,15,0,3,0,-4,-1,-18,-1,-22,-1,-36,-1,-42,-1,-51,-1,-58,-1,-64,-1,-69,-1,-76,-1,-75,-1,-81,-1,-81,-1,-79,-1,-81,-1,-74,-1,-75,-1,-68,-1,-61,-1,-58,-1,-47,-1,-41,-1,-33,-1,-20,-1,-16,-1,-1,-1,5,0,15,0,27,0,32,0,45,0,48,0,59,0,63,0,69,0,75,0,74,0,81,0,78,0,80,0,78,0,75,0,73,0,65,0,64,0,52,0,49,0,40,0,30,0,23,0,11,0,4,0,-7,-1,-16,-1,-24,-1,-36,-1,-42,-1,-50,-1,-58,-1,-61,-1,-71,-1,-71,-1,-76,-1,-78,-1,-79,-1,-77,-1,-78,-1,-72,-1,-74,-1,-63,-1,-63,-1,-51,-1,-49,-1,-36,-1,-32,-1,-20,-1,-12,-1,-3,-1,9,0,15,0,25,0,37,0,39,0,53,0,55,0,63,0,68,0,73,0,72,0,80,0,75,0,79,0,75,0,73,0,70,0,64,0,60,0,52,0,45,0,39,0,28,0,20,0,12,0,1,0,-8,-1,-15,-1,-28,-1,-33,-1,-41,-1,-52,-1,-55,-1,-63,-1,-67,-1,-72,-1,-73,-1,-76,-1,-77,-1,-76,-1,-74,-1,-74,-1,-65,-1,-66,-1,-57,-1,-52,-1,-44,-1,-38,-1,-25,-1,-23,-1,-8,-1,-3,-1,9,0,18,0,23,0,37,0,40,0,52,0,54,0,63,0,64,0,74,0,70,0,78,0,72,0,78,0,72,0,71,0,68,0,61,0,58,0,51,0,42,0,36,0,28,0,18,0,10,0,1,0,-9,-1,-17,-1,-25,-1,-38,-1,-37,-1,-54,-1,-51,-1,-65,-1,-63,-1,-72,-1,-72,-1,-73,-1,-76,-1,-72,-1,-75,-1,-68,-1,-68,-1,-59,-1,-58,-1,-47,-1,-45,-1,-33,-1,-27,-1,-18,-1,-8,-1,-1,-1,9,0,17,0,28,0,32,0,44,0,48,0,55,0,62,0,65,0,68,0,73,0,72,0,74,0,74,0,70,0,69,0,65,0,60,0,55,0,49,0,40,0,35,0,25,0,18,0,8,0,-1,-1,-8,-1,-19,-1,-25,-1,-36,-1,-40,-1,-52,-1,-51,-1,-63,-1,-64,-1,-67,-1,-74,-1,-68,-1,-77,-1,-68,-1,-74,-1,-64,-1,-67,-1,-58,-1,-53,-1,-49,-1,-39,-1,-33,-1,-27,-1,-13,-1,-10,-1,1,0,11,0,17,0,26,0,36,0,40,0,50,0,54,0,59,0,65,0,67,0,70,0,72,0,71,0,72,0,69,0,65,0,65,0,56,0,55,0,45,0,40,0,31,0,26,0,13,0,10,0,-4,-1,-7,-1,-21,-1,-25,-1,-35,-1,-42,-1,-48,-1,-53,-1,-61,-1,-62,-1,-68,-1,-69,-1,-70,-1,-71,-1,-70,-1,-68,-1,-66,-1,-61,-1,-57,-1,-53,-1,-43,-1,-42,-1,-27,-1,-27,-1,-12,-1,-9,-1,3,0,10,0,19,0,26,0,36,0,39,0,50,0,52,0,61,0,61,0,68,0,66,0,72,0,69,0,68,0,70,0,61,0,64,0,54,0,51,0,45,0,37,0,30,0,24,0,12,0,8,0,-3,-1,-12,-1,-17,-1,-29,-1,-32,-1,-44,-1,-44,-1,-57,-1,-55,-1,-66,-1,-62,-1,-70,-1,-67,-1,-70,-1,-68,-1,-66,-1,-64,-1,-58,-1,-58,-1,-46,-1,-47,-1,-34,-1,-30,-1,-22,-1,-13,-1,-6,-1,3,0,11,0,19,0,28,0,33,0,42,0,47,0,52,0,60,0,60,0,65,0,67,0}; }
	private static byte[] data21(){ return new byte[] {68,0,68,0,67,0,65,0,62,0,60,0,54,0,47,0,45,0,33,0,32,0,19,0,13,0,7,0,-7,-1,-7,-1,-23,-1,-24,-1,-37,-1,-38,-1,-51,-1,-49,-1,-59,-1,-61,-1,-64,-1,-65,-1,-69,-1,-66,-1,-66,-1,-66,-1,-58,-1,-62,-1,-49,-1,-51,-1,-39,-1,-37,-1,-26,-1,-21,-1,-13,-1,-3,-1,1,0,17,0,14,0,32,0,29,0,45,0,44,0,55,0,54,0,63,0,61,0,67,0,65,0,67,0,65,0,63,0,61,0,55,0,55,0,43,0,44,0,32,0,27,0,22,0,8,0,8,0,-9,-1,-7,-1,-23,-1,-25,-1,-36,-1,-41,-1,-44,-1,-55,-1,-54,-1,-61,-1,-63,-1,-63,-1,-68,-1,-63,-1,-66,-1,-60,-1,-61,-1,-56,-1,-49,-1,-49,-1,-36,-1,-36,-1,-26,-1,-17,-1,-14,-1,-1,-1,4,0,11,0,22,0,25,0,36,0,40,0,45,0,55,0,51,0,64,0,59,0,64,0,67,0,61,0,65,0,62,0,57,0,56,0,49,0,46,0,37,0,36,0,21,0,22,0,8,0,4,0,-5,-1,-13,-1,-20,-1,-27,-1,-35,-1,-39,-1,-48,-1,-49,-1,-56,-1,-59,-1,-61,-1,-64,-1,-63,-1,-64,-1,-61,-1,-62,-1,-57,-1,-53,-1,-51,-1,-42,-1,-39,-1,-31,-1,-26,-1,-15,-1,-14,-1,2,0,2,0,15,0,19,0,28,0,33,0,41,0,46,0,50,0,56,0,56,0,63,0,60,0,65,0,61,0,63,0,58,0,58,0,52,0,48,0,44,0,37,0,30,0,26,0,14,0,12,0,1,0,-6,-1,-13,-1,-20,-1,-28,-1,-33,-1,-41,-1,-46,-1,-48,-1,-57,-1,-55,-1,-62,-1,-61,-1,-61,-1,-63,-1,-60,-1,-59,-1,-55,-1,-53,-1,-45,-1,-46,-1,-33,-1,-32,-1,-22,-1,-17,-1,-8,-1,-3,-1,8,0,11,0,23,0,26,0,34,0,40,0,44,0,52,0,52,0,58,0,58,0,62,0,61,0,62,0,58,0,59,0,53,0,54,0,43,0,45,0,32,0,31,0,23,0,14,0,11,0,-2,-1,-5,-1,-13,-1,-22,-1,-26,-1,-35,-1,-39,-1,-45,-1,-49,-1,-54,-1,-57,-1,-57,-1,-61,-1,-61,-1,-59,-1,-61,-1,-55,-1,-54,-1,-50,-1,-47,-1,-38,-1,-38,-1,-25,-1,-24,-1,-15,-1,-6,-1,-3,-1,10,0,9,0,23,0,20,0,29,0,30,0,29,0,35,0,28,0,34,0,28,0,26,0,27,0,16,0,23,0,9,0,15,0,4,0,8,0,-1,-1}; }
	private static byte[] getData(){
		byte[] data = new byte[22040];
		System.arraycopy(data0(), 0, data, 0, 1024);
		System.arraycopy(data1(), 0, data, 1024, 1024);
		System.arraycopy(data2(), 0, data, 2048, 1024);
		System.arraycopy(data3(), 0, data, 3072, 1024);
		System.arraycopy(data4(), 0, data, 4096, 1024);
		System.arraycopy(data5(), 0, data, 5120, 1024);
		System.arraycopy(data6(), 0, data, 6144, 1024);
		System.arraycopy(data7(), 0, data, 7168, 1024);
		System.arraycopy(data8(), 0, data, 8192, 1024);
		System.arraycopy(data9(), 0, data, 9216, 1024);
		System.arraycopy(data10(), 0, data, 10240, 1024);
		System.arraycopy(data11(), 0, data, 11264, 1024);
		System.arraycopy(data12(), 0, data, 12288, 1024);
		System.arraycopy(data13(), 0, data, 13312, 1024);
		System.arraycopy(data14(), 0, data, 14336, 1024);
		System.arraycopy(data15(), 0, data, 15360, 1024);
		System.arraycopy(data16(), 0, data, 16384, 1024);
		System.arraycopy(data17(), 0, data, 17408, 1024);
		System.arraycopy(data18(), 0, data, 18432, 1024);
		System.arraycopy(data19(), 0, data, 19456, 1024);
		System.arraycopy(data20(), 0, data, 20480, 1024);
		System.arraycopy(data21(), 0, data, 21504, 536);
		return data;
	}
	/** Constructs a new AudioClip with the data from drum-16.wav. */
	public Drum16(){
		data = getData();
		format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, (float)(44100.0), 16, 1, 2, (float)(44100.0), false);
		lineInfo = new DataLine.Info(SourceDataLine.class, format, AudioSystem.NOT_SPECIFIED);
		try{ AudioSystem.getLine(lineInfo); }
		catch(IllegalArgumentException ex){ lineInfo = null; ex.printStackTrace(); }
		catch(LineUnavailableException e){}
	}
	/** A separate thread for playing drum-16.wav. */
	private class PlayThread extends Thread {
		private byte[] data;
		private AudioFormat format;
		private DataLine.Info lineInfo;
		private SourceDataLine line = null;
		private boolean playing = true;
		private float volume = 1;
		public PlayThread(byte[] d, AudioFormat f, DataLine.Info i, float v){ data = d; format = f; lineInfo = i; volume = v; }
		public void run(){
			try{
				line = (SourceDataLine) AudioSystem.getLine(lineInfo);
				line.open(format, AudioSystem.NOT_SPECIFIED);
				FloatControl vol = (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);
				vol.setValue(volume);
				line.start();
				int written = 0;
				int available;
				while(written < data.length && playing){
					available = Math.min(line.available(), data.length - written);
					line.write(data, written, available);
					written += available;
				}
				int frames = data.length / format.getFrameSize();
				while(line.getFramePosition() < frames && playing) Thread.sleep(0);
			}
			catch(InterruptedException ex){ playing = false; }
			catch(LineUnavailableException ex){}
			if(line != null){ line.stop(); line.flush(); line.close(); }
			playing = false;
		}
		public void interrupt(){ playing = false; }
		public boolean isPlaying(){ return playing; }
	}
	/** A separate thread for looping play of drum-16.wav. */
	private class LoopThread extends Thread {
		private Drum16 clip;
		private boolean looping = true;
		public LoopThread(Drum16 c){ clip = c; }
		public void run(){
			while(looping){
				clip.play();
				while(clip.isPlaying() && looping){
					try{ Thread.sleep(0); }
					catch(InterruptedException ex){ looping = false; break; }
				}
			}
			if(!clip.isLooping()) clip.stop();
		}
		public void interrupt(){ looping = false; }
		public boolean isLooping(){ return looping; }
	}
	/** Plays drum-16.wav from the beginning, even if it is already playing or looping. */
	public void play() { play(0); }
	public void play(float balance){ if(lineInfo == null) return; doPlay(balance); }
	private synchronized void doPlay(float balance){
		doStopPlay();
		playThread = new PlayThread(data, format, lineInfo, balance);
		playThread.start();
	}
	/** Plays drum-16.wav continuously until stopped. */
	public void loop(){ if(lineInfo == null) return; doLoop(); }
	private synchronized void doLoop(){
		doStopLoop();
		loopThread = new LoopThread(this);
		loopThread.start();
	}
	/** Stops play and looping of drum-16.wav. */
	public void stop(){ if(lineInfo == null) return; doStop(); }
	private synchronized void doStop(){
		doStopPlay();
		doStopLoop();
	}
	private void doStopPlay(){
		if(playThread == null) return;
		if(playThread.isPlaying()) playThread.interrupt();
		playThread = null;
	}
	private void doStopLoop(){
		if(loopThread == null) return;
		if(loopThread.isLooping()) loopThread.interrupt();
		loopThread = null;
	}
	/** Tests if drum-16.wav is currently playing or looping.
	 * @return <tt>true</tt> if playing or looping, <tt>false</tt> otherwise */
	public boolean isPlaying(){ if(lineInfo == null) return false; return doIsPlaying(); }
	private synchronized boolean doIsPlaying(){
		if(loopThread == null && playThread == null) return false;
		else if(loopThread == null) return playThread.isPlaying();
		else if(playThread == null) return loopThread.isLooping();
		else return loopThread.isLooping() && playThread.isPlaying();
	}
	/** Tests if drum-16.wav is currently looping.
	 * @return <tt>true</tt> if looping, <tt>false</tt> otherwise */
	public boolean isLooping(){ if(lineInfo == null) return false; return doIsLooping(); }
	private synchronized boolean doIsLooping(){
		if(loopThread == null) return false;
		else return loopThread.isLooping();
	}
}